【发布时间】:2023-04-10 05:16:01
【问题描述】:
我还是 VBA 的新手,我无法让一些代码正常工作。我有一个子,我想根据名为 AllCities 的工作表中的名称列表创建工作表。城市名称列表从单元格 A2 开始。工作表需要以列表中的单元格值命名,并且列表应该能够更新。代码现在可以工作,但如果我添加到名称列表中,它不会添加新的工作表。我的第二个子应该删除与列表中的城市不对应的任何工作表。我的删除子现在只是删除每个工作表。
插入工作表代码:
Sub insertSheets()
Dim myCell As Range
Dim MyRange As Range
Dim MyRange2 As Range
Set MyRange = Sheets("AllCities").Range("A2")
Set MyRange2 = Range(MyRange, MyRange.End(xlDown))
For Each myCell In MyRange2
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = myCell.Value
Next myCell
End Sub
删除工作表代码:
Sub deleteSheets()
Dim wks As Worksheet
Dim MyRange As Range
Dim myCell As Range
Set wks = Sheets("AllCities")
With wks
Set MyRange = Range("A2", .Cells(.Rows.Count, "A").End(xlUp))
End With
On Error Resume Next
Application.DisplayAlerts = False
For Each myCell In MyRange
Sheets(myCell.Value).Delete
Next myCell
Application.DisplayAlerts = True
On Error GoTo 0
End Sub
感谢您的帮助!
【问题讨论】: