Excel 如何粘贴不同工作簿中的范围?

Excel 如何粘贴不同工作簿中的范围?,excel,vba,Excel,Vba,我的代码: 与wbImport.worksheet(“数据”) LastCol=.Range(“A1”).End(xlToRight).Column LastRow=.Range(“A1”).End(xlDown).Row .Range(“A1”,.Cells(LastRow,LastCol)).Copy'@--Copy而不选择 以 wsData.Range(“A1”).Paste特殊粘贴:=xlPasteValues,操作:=xlNone,skipblank_ :=假,转置:=假 我正在尝试

我的代码:

与wbImport.worksheet(“数据”)
LastCol=.Range(“A1”).End(xlToRight).Column
LastRow=.Range(“A1”).End(xlDown).Row
.Range(“A1”,.Cells(LastRow,LastCol)).Copy'@--Copy而不选择
以
wsData.Range(“A1”).Paste特殊粘贴:=xlPasteValues,操作:=xlNone,skipblank_
:=假,转置:=假
我正在尝试将wbImport的数据粘贴到当前工作簿wsData中

几乎每次我

错误1004范围类的粘贴特殊方法失败

我想这样说:

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

哪一行是错误的?
wsData
在何处/如何定义?请改用值传输:
wsData.Range(“A1”).Resize(LastRow,LastCol)。value=.Range(“A1”,.Cells(LastRow,LastCol)).value
(将
结尾与
一起移动到末尾)。@BigBen,我正在写它。虽然“味道”略有不同
wbImport.Worksheets("Data").Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
wsData.Range("A1").PasteSpecial xlPasteValues