Здравствуйте, уважаемые знатоки. Прошу помощи, бьюсь над решением уже который день, не хватает опыта разобраться. Задача - на основании списка имен листов на листе "Список" в колонке C отправить на печать соответствующие листы. Отправить их по очереди получается, отправить все разом никак. Содержимое листов значения не имеет, сделал пример "на коленке". При перечислении листов в явном виде макрос конечно работает:
И даже попытка сцепить имена листов в отдельной ячейке и вставить значение этой ячейки в тело макроса ((. Но я явно не понимаю как корректно задать диапазон именно для листов, всё заканчивается ошибкой.
Буду безмерно благодарен любому работающему варианту
Sub PrintShts()
Dim s$, r&
r = Cells(Rows.Count, 3).End(xlUp).Row
For r = 2 To r: s = s & " " & Cells(r, 3): Next
s = Trim(s)
Do While InStr(s, " "): s = Replace(s, " ", " "): Loop
Sheets(Split(s)).PrintOut Preview:=True
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Ігор Гончаренко, Спасибо большое! Очень красиво, но ничего не понятно Главное, что работает. Перенес код в свою книгу и опять вылезла ошибка. Метод научного тыка показал что проблема из-за пробела в названии одного из листов Хочу надеяться, что какой-то из моих способов тоже был рабочий)