我想从我的第一张纸上复制一些内容,将它们粘贴到新纸张中,然后删除第一张纸并将新(仅)纸张重命名为Sheet1。但我永远不知道创建它时第二张纸会被命名。大多数时候,它将是Sheet2,但我不能指望它。下面是从创建宏的过程中获取的代码,但它使用的是在此实例中创建的工作表名称。我想使用工作表的索引,但不知道语法:
Columns("A:D").Select
Selection.Copy
Sheets("Sheet2").Select
ActiveSheet.Paste
Sheets("Sheet1").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
Sheets("Sheet2").Select
Sheets("Sheet2").Name = "Sheet1"
所以在哪里说" Sheet2" ...我如何使用第二张纸,而不一定是名为Sheet2的纸张?
感谢。
答案 0 :(得分:4)
Worksheets(2)
是引用第二张表的方法。
Worksheets(Worksheets.Count)
到最后一个。
试试这样:
Debug.Print Worksheets(Worksheets.Count).name
答案 1 :(得分:2)
您可以创建一个将成为新工作表的变量:
Sub sheetdelet()
Dim ws As Worksheet
With ThisWorkbook
Set ws = .Worksheets.Add
.Worksheets("Sheet1").Range("A:D").Copy ws.Range("A1")
Application.DisplayAlerts = False
.Worksheets("Sheet1").Delete
Application.DisplayAlerts = True
ws.Name = "Sheet1"
End With
End Sub