VBA,在Excel中重命名相关工作表

时间:2018-07-18 09:47:03

标签: excel vba copy paste worksheet

我使用两次命令“ 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"

1 个答案:

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