1

是否有什么可能导致选择和复制范围以仅在某些文档中包含隐藏列?

这是大部分的代码:

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.以下高级过滤器命令错误的范围对象。

4

2 回答 2

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
于 2013-03-10T06:22:52.400 回答
0

如果您要做的只是在排除隐藏单元格的同时复制和粘贴范围,那么您就非常接近了!试试这个:

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

它将考虑范围A1E5复制可见单元格,然后粘贴到H2Sheet2。您可以对其进行修改以满足您的特定需求。

在此处输入图像描述

在此处输入图像描述

于 2013-03-12T13:23:11.263 回答