Я изучаю VBA как средство ускорения некоторых процессов на моей работе. Мне нужно отправить списки комнат в свойствах в формате PDF, сгенерированном в форме excel. У меня есть следующий код, который отлично работает, но я получаю сообщение об ошибке, когда один из листов скрыт. Мне приходится часто скрывать листы, поскольку свойства меняются от поездки до поездки.VBA - Игнорирование скрытых рабочих листов - Сохранение конкретных рабочих листов в формате PDF
Я хочу, чтобы PDF Рабочие листы с 4-го листа на лист «Почта». Всякий раз, когда я скрыть лист между ними я получаю следующее сообщение об ошибке «Ошибка выполнения„5“: Invalid вызова процедуры или аргумент»
Вот код:
Sub SaveAllPDF()
Dim I As Integer
Dim Fname As String
Dim TabCount As Long
TabCount = Sheets("Post").Index
' Begin the loop.
For I = 4 To TabCount
Sheets(I).Activate
With ActiveSheet
Fname = .Range("C15") & " " & .Range(" B1")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
"C:\Users\brandon.ford\Desktop\Operation Automated\" & Fname,
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
Next I
End Sub
Кто-нибудь есть какие-либо идеи, как устраните эту проблему, так что «For I = 4 to TabCount» игнорирует любые скрытые вкладки? Любая помощь была бы очень признательна, я давно пытаюсь решить эту проблему и не имею большого знания VBA.
Спасибо за ваш ответ! По какой-то причине, когда я запускаю этот макрос, ничего не происходит. Нет ошибки, и, похоже, она не запускается, поскольку ничего не загружается – arbitel
Плохо, я забыл Лист в переменной, потому что я не использовал их в течение длительного времени! Исправлено! ;) – R3uK
Упрощенный как в отличие от исходного кода и принятого ответа, он не активирует каждый лист – brettdj