在VBA中获取完整的复制行集并将其存储在变量中

时间:2011-09-14 18:35:02

标签: vba excel-vba excel

我之前问过这个问题,但是问得不对,并且无法得到最好的答案。

我有一个相当简单的语法问题:

我正在尝试将n行从一个excel文件复制并粘贴到另一个excel文件中。另外,我想将总 FILTERED 复制的行存储到变量中。有人能帮助我做到这一点吗?

例如:

'1)激活CSV文件,将过滤器应用于B列(页面标题)&取消选中“空白”(“<>”)过滤器

Windows(“Test_Origin.xlsm”)。激活

ActiveSheet.Range(“$ A $ 1:$ J $ 206”)。AutoFilter字段:= 2,Criteria1:=“<>”

'2)使用数据复制过滤行(不包括第1行)

范围(“B2:F189”)。选择

Selection.Copy

copiedRowTotal = Selection.Rows.Count < - 这不会给我FILTERED行

谢谢

2 个答案:

答案 0 :(得分:3)

dim i as long
i = Application.WorksheetFunction.Subtotal(2,worksheets("Sheet").Range("B2:F189"))

在这里给出你的描述 Getting a total copied set of rows in VBA and storing it in a variable

答案 1 :(得分:2)

尝试:

copiedRowTotal  = Range("B2:B189").SpecialCells(xlCellTypeVisible).Count