是否有可能导致范围的选择和复制只在某些文档中包含隐藏列?
这是大多数情况下的代码:
Set rngAcData = .Range(.Cells(1, 1), .Cells(bottomMostRow, rightMostColumn))
rngAcData.Select
Selection.Copy
Sheets(".....").Select
Range("H2").Select
ActiveSheet.Paste请注意,这对大约98%的类似格式的文档有效。但在同样的文件里。它将反复包含隐藏的列。我被试着手动做,得到了同样的结果。我尝试将.SpecialCells(xlCellTypeVisible)附加到range对象中,这会导致以下高级筛选器命令出现错误run time error: 1004 database or table range is not valid.。
发布于 2013-03-12 13:23:11
如果你所要做的只是复制和粘贴一个范围,而不包括隐藏的单元格,那么你就非常接近了!试试这个:
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 of Sheet2中。您可以修改它以满足您的特定需求。
先于

后

发布于 2013-03-10 06:22:52
试试下面的代码:
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 Subhttps://stackoverflow.com/questions/15318124
复制相似问题