VBA,重命名 Excel 中的相关 sheet

VBA, Renaming the relevant sheet in Excel

我使用了两次命令 "Workbooks.Open Filename..." 来打开要从中复制的文件(第一次已经打开)。

是否有其他经济的解决方案而不是两次提及而是参考已经打开的工作簿?此外,命令:ActiveSheet.Name = "Spread" 不会在粘贴的 sheet 中重命名。只有当我把相关的表格放在前面时,它才会这样做。

 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"

关于第一个复制值被第二个覆盖的说法,你是对的。 所以你必须先复制第一个值 -> 粘贴第一个值 -> 复制第二个值 -> 粘贴第二个值

像这样:

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