У меня есть этот отладочный код, который не будет заполнять имена рабочих листов для печати в формате PDF. Я получаю ошибку индексации вне диапазона. Есть идеи?сценарий вне диапазона нужна помощь
Application.ScreenUpdating = False
Sheets("Macros").Select
Dim strPath As String, strFileName As String
Dim i As Integer, y As Integer, x As Integer
Dim WkstNames() As Variant
Dim iCount As Integer, iWkstCount As Integer
Dim printrange As Range
Set printrange = Range("P222:P248")
Dim p() As Variant
iCount = 1
iWkstCount = ThisWorkbook.Sheets.Count
ReDim WkstNames(1 To iWkstCount)
ReDim p(1 To 27)
For y = 1 To iWkstCount
For x = 1 To 27
printrange.Rows(p(x)).Select
If ActiveCell = "True" Then WkstNames(y) = Sheets(iCount).Name
iCount = iCount + 1
Next x
Next y
Sheets(WkstNames).Select ' error occurs here
Таким образом, мне нужно было бы назвать все 27 листов, если бы тогда были инструкции в рабочем примере? Конечно, есть более простой способ сделать это вручную? – AgBanker
Да, есть более простой способ, а не затемнение массива перед рукой. Обновлено сообщение –