![](/img/trans.png)
[英]Excel VBA: copying all rows in a range including any hidden by a filter
[英]VBA copying rows only till a hidden row
我有以下代碼可以在過濾后將數據從一張紙復制並粘貼到另一張紙上
For j = 1 To 4
## Open both workbooks first:
Set x = Workbooks.Open(path & "KFRs\" & sourceFileName)
x.Activate
Sheets("GL Data").Activate
lr = Cells(Rows.Count, 1).End(xlUp).Row
Set y = Workbooks.Open(path & "KFRs\" & fileNames(j))
x.Sheets("GL Data").Range("A1:P" & lr).AutoFilter Field:=15, Criteria1:=strNames(j)
'Now, copy what you want from x:
x.Sheets("GL Data").Range("A1:L" & lr).SpecialCells(xlCellTypeVisible).Copy
y.Sheets("GL Data").Cells(1, 1).PasteSpecial
Application.CutCopyMode = False
Next j
當我看到應該粘貼的目標文件時,我只看到行,直到看到隱藏的行。 例如,如果前 4 行是連續的,並且之后有一些隱藏行,則它只會復制前 4 行。 我需要復制和粘貼所有可見的行。
SpecialCells(xlCellTypeVisible)
正在打破返回一系列稱為區域的可見單元格塊。 原代碼只是粘貼第一個Area。
Range.PasteSpecial
僅粘貼可見單元格。 通過刪除SpecialCells(xlCellTypeVisible)
,將粘貼所有可見行。
x.Sheets("GL Data").Range("A1:L" & lr).Copy
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.