我使用两次命令“ Workbooks.Open Filename ...”来打开要从中复制文件(第一次已经打开)。
是否有另一种经济的解决方案,而无需两次提及,而是参考已经打开的工作簿?此外,命令:ActiveSheet.Name =“ Spread”不会在粘贴的工作表中重命名。仅当我将相关图纸放在前面时,它才这样做。
Sub CopyAndPaste()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Add
Set ws = wb.Worksheets("Tabelle1")
datDatum = Now
Workbooks.Open
Filename:="C:\Users\........xls" *'the source file'*
Sheets("Hypothekenbanken").Range("A11:P57").Copy
ws.Range("A2").PasteSpecial
ActiveSheet.Name = "Spread"
答案 0 :(得分:0)
您正确的是第一个复制的值将被第二个覆盖。 因此,您必须先复制第一个值->粘贴第一个值->复制第二个值->粘贴第二个值
类似这样的东西:
Dim wb As Workbook
Dim ws as worksheet
Set wb = Workbooks.Add
Set ws = wb.Worksheets("Sheet1")
Sheets("Hypothekenbanken").Range("A11:P57").Copy
ws.Range("A2").PasteSpecial
Sheets("Landesbanken").Range("A11:P41").Copy
ws.Range("A3").PasteSpecial