这是我的第一个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