Не удалось выбрать метод класса листов при попытке скрыть листы - PullRequest
0 голосов
/ 19 июня 2020

Я борюсь со скрытием листов.

Я использовал два набора кода:

 Sub hidesheets()
 Sheets("Materials - Specifications").Visible = False
 Sheets("Fibre drop release sheet").Visible = False
 End Sub

И затем

Sub RAtoPDF()
Call hidesheets
Dim sh As Worksheet, sh2 As Worksheet 
Dim ArraySheets() As String
Dim custom_name As String
Dim x As Variant
        
For Each sh In ActiveWorkbook.Worksheets
    If sh.Tab.ColorIndex = 33 Then
        'Sheets("Materials - Specifications").Visible = False
        ReDim Preserve ArraySheets(x)
        ArraySheets(x) = sh.Name
        x = x + 1
    End If
        
Next sh

Sheets(ArraySheets).Select

custom_name = "RA_" & ThisWorkbook.Name & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                ThisWorkbook.Path & "\" & custom_name, _
                                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                                IgnorePrintAreas:=False, OpenAfterPublish:=True
                                
Sheets("Frontsheet").Select
End Sub

Я получаю:

Не удалось выбрать метод класса листов

с отладчиком, указывающим на:

Sheets(ArraySheets).Select

Я пробовал эту строку без внешнего макроса, но ошибка та же.

Опция XlVeryhidden также не работает.

1 Ответ

2 голосов
/ 19 июня 2020

Не удалось выбрать метод класса листов означает, что вы выбрали скрытый лист для печати

If sh.Tab.ColorIndex = 33 And sh.Visible = True Then
...