На строчке Set shtX_MO = Sheets("Kod_MO") выскакивает ошибка: run time error 9 subscript out of range.
Как быть?
Спойлер
Sub макрос()
Dim cln As Collection
Dim i As Long
Set cln = New Collection
cln.Add Item:="180101"
cln.Add Item:="180201"
For i = 1 To cln.Count
Sheets("Page 1").Copy after:=Sheets(Worksheets.Count)
Sheets(Worksheets.Count).Name = cln(i)
Процедура cln(i)
Next i
End Sub
Private Sub Процедура(Kod_MO As String)
Dim shtX As Worksheet ' рабочий лист
Dim shtX_MO As Worksheet ' Рабочий лист для МО
Set shtX = Sheets("Page 1")
Set shtX_MO = Sheets("Kod_MO")
End Sub
Эта ошибка означает, что нет листа "Kod_MO" в активной книге. Активная книга - это книга, которая отображается на мониторе.
Здесь 'Kod_MO' это имя листа или это аргумент:?
Set shtX_MO = Sheets("Kod_MO")
Я понял ошибку: я заключил аргумент в кавычки.