将工作表复制到其他工作簿中以替换当前数据

问题描述 投票:0回答:4

我希望有人可以帮助我。

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

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

Wb1中的工作表已被命名,并将每天从Wb2中进行更新。 Wb1工作表格式的数据每次都会被覆盖。我一直在寻找,这将在单击命令按钮时发生。单击命令按钮时,将无法打开Wb2。

我发现了一些代码,但是每次运行代码时它都会创建一个新的工作表,我不确定如何更改它以满足我的需求。

非常感谢您的帮助,谢谢

excel vba copy worksheet
4个回答
1
投票

您可以轻松地记录一段代码来自己做,只需使用Developer功能区上的'Record Macro'。

现在,下面应该做的是(记住要更新工作簿2的文件路径)。

我刚刚从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

1
投票

此答案基于之前的@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

0
投票

我使用的代码是

Private Sub CommandButton1_Click()

带有工作簿(“ ROMAN.xls”).Sheets(“格式”)。之前:=工作簿(“ FAC Trial.xls”)。表格(“格式”)

结尾为

结束子

很明显,我必须同时打开两个工作簿,但我只希望它将数据复制到格式工作表上,而无需创建新的工作簿


0
投票

Sub ReplaceSheets(wb1作为工作簿,wb2作为工作簿,SheetName作为字符串)

wb1.Sheets(SheetName).Cells.Clear
wb2.Sheets(SheetName).Cells.Copy wb1.Sheets(SheetName).Range("A1")

结束子

© www.soinside.com 2019 - 2024. All rights reserved.