2013-03-10 224 views
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.

回答

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考虑,复制可见单元格,然后粘贴到Sheet2H2。您可以修改它以符合您的特定需求。

enter image description here

enter image description here

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 
+0

这其实是不能够解决它,但感谢你这么多的版本。代码的工作速度快得多。我怀疑文件中可能存在一些错误,其中某些格式禁止排除隐藏列的复制。 – mango 2013-03-10 17:19:11