繁体   English   中英

如何粘贴来自不同工作簿的范围?

[英]How to paste range from different workbook?

我的代码:

With wbImport.Worksheets("Data")
    LastCol = .Range("A1").End(xlToRight).Column
    LastRow = .Range("A1").End(xlDown).Row
    .Range("A1", .Cells(LastRow, LastCol)).Copy ' ‹-- Copy without Select
End With
    
wsData.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  :=False, Transpose:=False

我正在尝试将 wbImport 的数据粘贴到我当前的工作簿 wsData 中。

几乎每次我得到

错误 1004 Range 类的特殊粘贴方法失败。

我会像下面这样:

Dim wsData As Worksheet
set wsData = ... ' <-- set your target sheet

With wbImport.Worksheets("Data")
    With .Range("A1").CurrentRegion
        wsData.Range("A1").Resize(.Rows.Count, .Columns.Count).Value = .Value
    End With
End With

编辑:

如果你只对过滤的行感兴趣,那么你必须回到CopyPasteSpecial方法

wbImport.Worksheets("Data").Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
wsData.Range("A1").PasteSpecial xlPasteValues

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM