复制和粘贴错误

是否有可能导致范围的select和复制只包含一些文档中的隐藏列?

这是大部分的代码:

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.的范围对象run time error: 1004 database or table range is not valid. 在下面的高级filter命令。

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

 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 ,复制可见单元格,然后粘贴到Sheet2 H2 。 您可以修改它以适应您的特定需求。

之前

在这里输入图像说明

在这里输入图像说明

尝试下面的代码:

 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