是否有某些内容可能导致仅在某些文档中选择并复制范围 include 隐藏列?
这是大部分代码:
Set rngAcData = .Range(.Cells(1, 1), .Cells(bottomMostRow, rightMostColumn))
rngAcData.Select
Selection.Copy
Sheets(".....").Select
Range("H2").Select
ActiveSheet.Paste
请注意,这适用于大约98%的类似格式的文档。但在同一份文件中。它将反复包含隐藏的列。我已经尝试手动完成它,我得到了相同的结果。我尝试将.SpecialCells(xlCellTypeVisible)
附加到范围对象上,导致以下高级过滤器命令出现错误run time error: 1004 database or table range is not valid.
。
答案 0 :(得分:1)
尝试以下代码:
Sub test()
Set rngAcData = .Range(.Cells(1, 1), .Cells(bottomMostRow, rightMostColumn))
'Set rngAcData = .Range("A1").CurrentRegion 'can use this alternatively
rngAcData.Copy Sheets(".....").Range("H2") ' avoid using select in vba
' Selection.Copy ' not needed
'Sheets(".....").Select ' not needed
' Range("H2").Select ' not needed
' ActiveSheet.Paste ' not needed
End Sub
答案 1 :(得分:0)
如果你要做的就是复制并粘贴一个Range,同时排除隐藏的单元格,那么你就非常接近了!试试这个:
Public Sub CopyVisibleCells()
Dim rngAcData As Range
Set rngAcData = Range(Cells(1, 1), Cells(5, 5))
rngAcData.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Sheet2").Range("H2")
End Sub
考虑范围A1
到E5
,复制可见的单元格,然后粘贴到H2
的{{1}}。您可以对其进行修改以满足您的特定需求。
<强> BEFORE 强>
<强> AFTER 强>