将工作表复制到replace当前数据的其他工作簿中

我希望有人能帮助我。

我有两个工作簿。 Wb1 = FAC试用Wb2 = ROMAN

这两个工作簿中有许多工作表。 我想要发生的是Wb2中的数据,名为Format的工作表被复制到名为Format的Wb1工作表中。

Wb1中的工作表已经命名,并且将从Wb2每天更新。 Wb1工作表格式中的数据每次都会被覆盖。 我正在看,这将发生在点击一个命令button。 单击命令button时,Wb2将不会打开。

我已经find了一些代码,但每次运行代码时都会创build一个新的工作表,我不确定如何更改以适应我的需要。

预先感谢您的任何帮助,不胜感激

您可以轻松地录制一段代码来自己完成这个任务,只需使用开发人员function区上的“录制macros”即可。

现在,下面应该做你以后(记得要更新工作簿2的文件path)。

我刚刚从ROMAN工作簿中复制了“格式”工作表,然后删除了现有的“格式”工作表,并将新格式重新命名为“格式”。

Sub wsCopy() Dim wb1 As Workbook, wb2 As Workbook, ws1Format As Worksheet Application.ScreenUpdating = False Set wb1 = ThisWorkbook Set wb2 = Workbooks.Open("[ENTER FILE PATH]\ROMAN.xlsx") Set ws1Format = wb1.Sheets("Format") Set ws2Format = wb2.Sheets("Format") '' Copy the "Format" worksheet to wb1. ws2Format.Copy Before:=ws1Format wb2.Close '' Delete existing "Format" worksheet. Application.DisplayAlerts = False ws1Format.Delete Application.DisplayAlerts = True '' Rename new sheet to "Format". wb1.Sheets("Format (2)").Name = "Format" Application.ScreenUpdating = True End Sub 

这个答案基于@Ituner之前

 Sub wsCopy() Dim wb1 As Workbook, wb2 As Workbook, ws1Format As Worksheet Application.ScreenUpdating = False Set wb1 = ThisWorkbook Set wb2 = Workbooks.Open("[ENTER FILE PATH]\ROMAN.xlsx") Set ws1Format = wb1.Sheets("Format") Set ws2Format = wb2.Sheets("Format") '' Copy the cells of the "Format" worksheet. ws2Format.Cells.Copy '' Paste cells to the sheet "Format". wb1.Sheets("Format").Paste wb2.Close false 'remove false if you want to be asked if the workbook shall be saved. Application.ScreenUpdating = True End Sub 

我使用的代码是

Private Sub CommandButton1_Click()

使用工作簿(“ROMAN.xls”).Sheets(“Format”)。Copy_ Before:= Workbooks(“FAC Trial.xls”)。Sheets(“Format”)

结束

结束小组

很明显,我不得不打开这两个工作簿,但我只是想它将数据复制到格式工作表上,而不创build一个新的