2013-03-10 583 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