В вашем коде ненужный вызов функции «Массив» и несколько других «горячих клавиш».
Пожалуйста, замените следующие строки:
Sheets(Array(SheetNames)).select
Call ExportToPDF
с этим фрагментом:
Dim aSheetNames() As String
Dim i as long
aSheetNames = Split(SheetNames,",")
For i = LBound(aSheetNames) To UBound(aSheetNames)
Sheets(aSheetNames(i)).select
ExportToPDF
Next
И, надеюсь, теперь процедура должна работать, если мои предположения были верны.
Упс, я обнаружил еще одну проблему ...
Если я правильно угадываю ваши намерения, повторный код для каждого CheckBox должен выглядеть следующим образом:
If CB2.Value Then
If SheetNames <> "" Then SheetNames = Sheetnames & ","
SheetNames = Sheetnames & "WeekdaysReport"
End If