希望你能帮助我。我正在尝试我的第一个VBA脚本,其中包含一个应该转到外部excel文件的函数,复制多个单元格并将其粘贴回我的主Excel工作表。
我的问题是。我应该如何将下面的脚本构建成一个复制多个单元格并将它们放回B11:B17的函数?
'## Open former report first:
Set x = Workbooks.Open(strPath)
'Now, copoy what you want from x:
x.ActiveSheet.Range("F70:F76").Copy
'Now, paste to my repport worksheet:
Windows(myName).Activate
ActiveSheet.Range("B11").PasteSpecial xlPasteValues, Transpose:=True
'Close x:
x.Close
答案 0 :(得分:0)
我假设x是工作簿变量。通过设置transpose:= true选项,您的结果将粘贴到B11:G11,而不是B11:B17。
我建议您使用当前工作簿的工作簿变量,而不是使用windows.activate命令。这样的事情。
Dim wbActive as workbook
Dim wbFormerRpt as workbook
set wbActive = Thisworkbook
'## Open former report first:
Set wbFormerRpt = Workbooks.Open(strPath)
'Now, copoy what you want from x:
wbFormerRpt.ActiveSheet.Range("F70:F76").Copy
'Now, paste to my repport worksheet:
wbActive.Activate
wbActive.ActiveSheet.Range("B11").PasteSpecial xlPasteValues', Transpose:=True
wbFormerRpt.Close
希望这有帮助。