如果列具有特定值,则VBA宏将Excel工作表中的特定行复制到新工作簿中

时间:2015-03-10 15:40:43

标签: excel vba loops excel-vba

我正在尝试编写一个将执行以下操作的宏:

  1. 浏览工作表(“摘要表”),其中包含第8行到第xx行和第B列到第T列的数据
  2. 如果列T包含文本值“Global”或“International”或“US Concentrated”,请将这些行中的B列F列和列O列R中的值复制并粘贴到新工作簿中的新工作表中。 A列到第I列。
  3. 让我感到震惊的是,我每周都会查看一个包含不同数据行数的新工作表。因此,对于一周,“摘要表”将包含30行数据,然后在接下来的一周,它将包含50行数据。这种可变性会导致我的脚本丢失并导致粘贴部分出错。

    非常感谢您的想法。

1 个答案:

答案 0 :(得分:0)

如果您的脚本已经完成了将数据复制到新工作簿中的技巧。 您只需添加定义数据最后一行的变量即可。这很容易。但如果你上传了你的代码,那会更容易。

将以下内容添加到您的代码中;

dim lastRow as long

lastrow = sheets("Summary Sheet").Range("B1048576").end(xlUp).row

注意:当您使用97-2003兼容的Excel工作簿时,将1048576更改为65635,并在使用2007或更高版本时保持原样。

将以下代码更改为您已定义通过数据的范围: Sheets("Summary Sheet").Range("B8:B" & lastrow)

尝试一下,让我知道。