Posiadałem kod działający przez ponad 3 lata. Nagle 28 lipca 2016 r. Przestał działać.ThisWorkbook.Sheets (1). Wybierz (False) Nie działa
Jest bardzo prosty i mam nadzieję, że jest to proste rozwiązanie (a może zmiana Microsoft złamał)
ThisWorkbook.Sheets(1).Select
ThisWorkbook.Sheets(2).Select (False) ' like holding ctrl
to zawsze wybiera Arkusz # 1 i # 2 arkuszy. Teraz wydaje się, że "(False)" nie działa i wybierze tylko Arkusz # 1. Próbowałem tego na 5 różnych komputerach (wszystkie Excel 2013) Proszę dać mi znać, co się dzieje.
Dzięki! -Mike
Edytuj: To również nie działa. Tak jak powiedział Jordan w komentarzach, po prostu się nie wykonuje.
y = 9
ThisWorkbook.Sheets(1).Select
For y = 2 To x
ThisWorkbook.Sheets(y).Select (False) ' like holding ctrl
Next y
Edit2: Ponieważ nie wydaje się być ostateczną odpowiedź będę zapytać, czy ktoś może mi pomóc z obejścia:
ThisWorkbook.Sheets(Array(1 to x)).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
FolderName & "\" & QuoteFilename, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Oczywiście to nie zadziała, ale powinien dostać mój punkt widzenia.
rozwiązanie:
Dzięki Ralph, wziąłem kilka fragmentów i stworzył w ten sposób:
Private Sub Tester()
x = 5
ReDim SheetstoSelect(1 To x) As String
For y = 1 To x
SheetstoSelect(y) = ThisWorkbook.Sheets(y).Name
Next y
ThisWorkbook.Sheets(SheetstoSelect).Select
End Sub
to wybranie właściwej warstwy # od 1-5 i umożliwia zdefiniowanie arkuszy, aby wybrać ich rzeczywistej kolejności arkuszy .
Nadal nie znam źródła pierwszego problemu, ale obejścia są równie dobre.
Czy działa bez nawiasów wokół 'Fałszywe'? Coś musiało się zmienić? miałeś aktualizację pakietu Office, aktualizację systemu operacyjnego, czy nie masz już dwóch arkuszy? –
Czy pojawia się komunikat o błędzie? czy próbowałeś użyć Array ("Sheet1", "Sheet2") do testowania? –
Zgaduję, że coś się zepsuło w aktualizacji, o której wspomnieli @GaryEvans. – Rory