我想将前一张工作表的内容复制到同一工作簿中的新工作表中

时间:2016-05-18 11:26:10

标签: excel vba excel-vba

我的工作簿共有7张,其中4张是隐藏的。我想

  1. 使用VBA创建新工作表
  2. 将“最后一张”的所有内容复制到上面创建的新工作表
  3. 我尝试使用以下代码

    sheet_name_to_create = InputBox("Enter Sheet Name")
    
    For rep = 1 To (Worksheets.count)
    If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
    MsgBox " This Sheet already exists"
    Exit Sub
    End If
    Next
    ActiveSheets.copy After:=Sheets(Sheets.count)
    Sheets(ActiveSheet.Name).Name = sheet_name_to_create
    

    但是此代码会创建所有现有工作表的新副本(工作簿中的所有7张工作表)。

    请建议最好的解决方案。

    提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

宏会询问您新表格的名称,然后复制最后一页。

Sub AddNewSheet()
sheet_name_to_create = InputBox("Enter Sheet Name")
For rep = 1 To (Worksheets.Count)
    If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
    MsgBox " This Sheet already exists"
    Exit Sub
    End If
Next
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = sheet_name_to_create
End Sub