Я все еще очень новичок в 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
Спасибо за любую помощь, которая у вас есть!