我有一个自动过滤范围&成功过滤标准。我希望复制 - 显示此结果范围,并将其粘贴到其他位置,但是在选择此过滤范围时遇到问题。我的数据的第1行是标题。
以下是应用于过滤数据的代码段:
Set mainsheet = Workbooks("MyFile.xlsm").Sheets("Main")
Range("A1").Select
With mainsheet
.Range(.Cells(Selection.Row + 1, 1), .Cells(Selection.Row + 1, 47)).Select
End With
我认为这会将光标向下移动到下一个可见单元格,但它实际上向下移动到单元格A2(已过滤掉)。
我需要选择第一行数据,不包括我的标题,所以我可以xlDown和copy,但我无法弄清楚如何向下增加。有什么提示吗?
答案 0 :(得分:0)
使用此表示法
With mainsheet.UsedRange
.Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy
End With
.Offset(1)
将整个选择向下移动一行(不包括标题)
.Resize(.Rows.Count - 1)
删除偏移
答案 1 :(得分:0)
我刚刚意识到使用SpecialCells(xlCellTypeVisibile).Select可以缓解这个问题,因为过滤后的细胞显然不是可见的