创建从各行复制的功能

时间:2014-10-23 07:16:32

标签: excel vba function

希望你能帮助我。我正在尝试我的第一个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

1 个答案:

答案 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

希望这有帮助。