这是我的第一个VBA脚本,所以我可能会遗漏一些非常基本的东西 . 但是,我已经搜索了这个问题,所提出的解决方案似乎都不适合我的情况 . 我要做的就是从一个工作簿中复制一列数据,并在转置时将这些值仅粘贴到另一个工作簿 . 当我运行宏时,我得到错误“运行时错误'1004':Range类的PasteSpecial方法失败” .

这是我的代码:

Sub GetEverything()

Dim fPATH As String, fNAME As String
Dim CurrentBook As Workbook
Dim DestBook As Workbook
Dim number As Double

fPATH = "\\NetworkShare\Path\to\file\"
Set DestBook = ThisWorkbook

For i = 1 To 31
    fNAME = "TimeStep " & i & ".xlsx"
    Set CurrentBook = Workbooks.Open(fPATH & fNAME)

    CurrentBook.Sheets("FFT Normal Force").Range("E2:E257").Copy

    number = i + 2

    DestBook.Sheets("Sheet2").Range("B" & CStr(number)).PasteSpecial Paste:=x1PasteValues, Operation:=x1None, SkipBlanks:=False, Transpose:=True

    CurrentBook.Close False
Next i

End Sub

任何帮助将不胜感激!我也有兴趣学习,所以我不仅想知道什么是错的,而且也知道为什么 .

在DestBook.Sheets(“Sheet2”)行上发生错误 . 范围(“B”和CStr(数字)) . PasteSpecial粘贴:= x1PasteValues,操作:= x1None,SkipBlanks:= False,Transpose:= True