![]() |
Betrifft: Laufzeitfehler '1004'
von: Hannes
Geschrieben am: 30.09.2014 07:35:29
Hallo Zusammen!
Ich bin blutiger Anfänger und wollte ein Makro programmieren in der ich Tabellenblätter ein und ausblende!
Einblenden der Tabellenblätter läuft perfekt.
Allerdings hab ich beim Ausblenden probleme... sobald ich den Makro aufzeichne und fertig bin und es am Ende ausführen möchte kommt die Fehlermeldung:
Laufzeitfehler 1004: Die Select-Methode des Sheets-Objektes konnte nicht ausgeführt werden.
Was mache ich da falsch?
Vielen Dank schonmal im Voraus!!!
![]() ![]() |
Betrifft: AW: Laufzeitfehler '1004'
von: Hajo_Zi
Geschrieben am: 30.09.2014 07:36:57
nur wenige sehen Dein Makro.
Gruß Hajo
![]() ![]() |
Betrifft: AW: Laufzeitfehler '1004'
von: Hannes
Geschrieben am: 30.09.2014 08:22:20
Sub pcs_einblenden() ' ' pcs_einblenden Makro ' ' Sheets("Choice").Select Sheets("tab1").Visible = True Sheets("Choice").Select Sheets("Saving").Visible = True Sheets("Choice").Select Sheets("Fabs").Visible = True Sheets("Choice").Select Sheets("Purchase").Visible = True Sheets("Choice").Select Sheets("Cost Savings 101101").Visible = True ActiveWindow.ScrollWorkbookTabs Position:=xlFirst Sheets("Choice").Select Sheets("Charts 101101").Visible = True Sheets("Purchasing Savings 201203").Select Sheets("Cost Savings 101102").Visible = True Sheets("Purchasing Savings 201205").Select Sheets("Charts 101102").Visible = True Sheets("Purchasing Savings 201205").Select Sheets("Cost Savings 101104").Visible = True Sheets("Cost Savings 101101").Select Sheets("Charts 101104").Visible = True Sheets("Cost Savings 101102").Select Sheets("Cost Savings 101110").Visible = True Sheets("Charts 101101").Select Sheets("Charts 101110").Visible = True Sheets("Cost Savings 101102").Select Sheets("Cost Savings 101114").Visible = True Sheets("Cost Savings 101104").Select Sheets("Charts 101114").Visible = True Range("L61").Select Sheets("Cost Savings 101104").Select Sheets("Cost Savings 101121").Visible = True Sheets("Charts 101104").Select Sheets("Charts 101121").Visible = True Sheets("Cost Savings 101114").Select Sheets("Cost Savings 103118").Visible = True Sheets("Charts 101114").Select Sheets("Charts 103118").Visible = True Sheets("Charts 101114").Select Sheets("Cost Savings 103119").Visible = True Sheets("Cost Savings 101121").Select Sheets("Charts 103119").Visible = True Sheets("Charts 101121").Select Sheets("Cost Savings 103139").Visible = True Sheets("Cost Savings 103118").Select Sheets("Charts 103139").Visible = True Sheets("Charts 103118").Select Sheets("Cost Savings 201203").Visible = True Sheets("Cost Savings 103119").Select Sheets("Charts 201203").Visible = True Sheets("Charts 103119").Select Sheets("Cost Savings 201205").Visible = True Sheets("Cost Savings 103139").Select Sheets("Charts 201205").Visible = True Sheets("Choice").Select Range("A1").Select End Sub
Sub pcs_ausblenden() ' ' pcs_ausblenden Makro ' ' Sheets(Array("tab1", "Saving", "Fabs", _ "Purchase")).Select Sheets("Summary").Activate ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 ActiveWindow.ScrollWorkbookTabs Sheets:=1 Sheets(Array("Summary F&M-PP", "Savings Charts", "Fab & Machine", _ "Purchased Parts & Services", "Cost Savings 101101", "Charts 101101", _ "Cost Savings 101102", "Charts 101102", "Cost Savings 101104", "Charts 101104", _ "Cost Savings 101110", "Charts 101110", "Cost Savings 101114", "Charts 101114", _ "Cost Savings 101121", "Charts 101121", "Cost Savings 103118", "Charts 103118", _ "Cost Savings 103119", "Charts 103119", "Cost Savings 103139", "Charts 103139", _ "Cost Savings 201203", "Charts 201203", "Cost Savings 201205")).Select Sheets("Summary F&M-PP").Activate Sheets("Charts 201205").Select Replace:=False Sheets(Array("Summary", "Savings", "Fabs", _ "Purchase", "Cost Savings 101101", "Charts 101101", _ "Cost Savings 101102", "Charts 101102", "Cost Savings 101104", "Charts 101104", _ "Cost Savings 101110", "Charts 101110", "Cost Savings 101114", "Charts 101114", _ "Cost Savings 101121", "Charts 101121", "Cost Savings 103118", "Charts 103118", _ "Cost Savings 103119", "Charts 103119", "Cost Savings 103139", "Charts 103139", _ "Cost Savings 201203", "Charts 201203", "Charts 201205")).Select Sheets("Charts 201205").Activate Sheets("Cost Savings 201205").Select Replace:=False ActiveWindow.SelectedSheets.Visible = False ActiveWindow.ScrollWorkbookTabs Position:=xlFirst Sheets("Choice").Select Range("A1").Select End Sub
![]() ![]() |
Betrifft: AW: Laufzeitfehler '1004'
von: Hajo_Zi
Geschrieben am: 30.09.2014 08:37:43
Hallo Hannes,
mehr als 50% des Codes kann ja gelöscht werden.
Ich habe nun nur das erste Makro gemacht. Es Stand mir ja offen welches ich bearbeiten soll. Es Stand ja nichts, wo ein Fehler. Das zweite ist analog.
Option Explicit Sub pcs_einblenden() ' ' pcs_einblenden Makro ' ' Sheets("tab1").Visible = True Sheets("Saving").Visible = True Sheets("Fabs").Visible = True Sheets("Purchase").Visible = True Sheets("Cost Savings 101101").Visible = True Sheets("Charts 101101").Visible = True Sheets("Cost Savings 101102").Visible = True Sheets("Charts 101102").Visible = True Sheets("Cost Savings 101104").Visible = True Sheets("Charts 101104").Visible = True Sheets("Cost Savings 101110").Visible = True Sheets("Charts 101110").Visible = True Sheets("Cost Savings 101114").Visible = True Sheets("Charts 101114").Visible = True Sheets("Cost Savings 101121").Visible = True Sheets("Charts 101121").Visible = True Sheets("Cost Savings 103118").Visible = True Sheets("Charts 103118").Visible = True Sheets("Cost Savings 103119").Visible = True Sheets("Charts 103119").Visible = True Sheets("Cost Savings 103139").Visible = True Sheets("Charts 103139").Visible = True Sheets("Cost Savings 201203").Visible = True Sheets("Charts 201203").Visible = True Sheets("Cost Savings 201205").Visible = True Sheets("Charts 201205").Visible = True End SubGruß Hajo
![]() ![]() |
Betrifft: AW: Laufzeitfehler '1004'
von: Hannes
Geschrieben am: 30.09.2014 08:41:04
Danke Hajo!!!
![]() ![]() |
Betrifft: AW: Laufzeitfehler '1004'
von: Adis
Geschrieben am: 01.10.2014 08:20:51
Hallo
ich habe mir das 2. Makro einmal angesehen, es enthaelt viel überflüssige Zeilen.
Statt ein Array zu selektieren kann man es direkt mit .Visible = False beenden.
Bei mehrfachem Selektieren besteht die Gefahr die vorherige Selektion aufzuheben.
Bitte schauen ob die gekürzte Version einwandfrei laeuft. Sollte eine Fehlermeldung
kommen ist evtl. ein im Array genanntes Blatt nicht in der Mappe vorhanden.
Bei Sheets ausblenden ist der ganze Pulk mit ScroolWorkbookTabs überflüssig.
Alle Blaetter wieder einblenden geht einfacher ohne Array, mit For Next Schleife
'1. Fehler: Blatt Summary ist nicht im Array enthalten. Wurde ins Array übernommen
'das 3. Array wiederholt das 2. Array, ist überflüssig. ScroolWorkbookTabs gelöscht.
Sub pcs_ausblenden() bereinigtes Makro 'Blatt Summary ist nicht im Array enthalten, wurde übernommen Sheets(Array("Summary", "Tab1", "Saving", "Fabs", "Purchase")).Visible = False 'das 3. Array wiederholt das 2. Array, ist überflüssig Sheets(Array("Summary F&M-PP", "Savings Charts", "Fab & Machine", _ "Purchased Parts & Services", "Cost Savings 101101", "Charts 101101", _ "Cost Savings 101102", "Charts 101102", "Cost Savings 101104", "Charts 101104", _ "Cost Savings 101110", "Charts 101110", "Cost Savings 101114", "Charts 101114", _ "Cost Savings 101121", "Charts 101121", "Cost Savings 103118", "Charts 103118", _ "Cost Savings 103119", "Charts 103119", "Cost Savings 103139", "Charts 103139", _ "Cost Savings 201203", "Charts 201203", "Cost Savings 201205")).Visible = False 'Einzel Selection bestehen gelassen wegen Replace Sheets("Charts 201205").Select Replace:=False Sheets("Cost Savings 201205").Select Replace:=False ActiveWindow.SelectedSheets.Visible = False ActiveWindow.ScrollWorkbookTabs Position:=xlFirst Sheets("Choice").Select Range("A1").Select End Sub
Sub Blaetter_einblenden() For i = 1 To Sheets.Count Sheets(i).Visible = True Next i End SubGruss Adis
![]() ![]() |
Betrifft: AW: Laufzeitfehler '1004'
von: Hannes
Geschrieben am: 01.10.2014 10:12:58
Hallo Adis, danke dir für deine info, allerdings funktioniert danach nichts mehr! Woran könnte das liegen?
Mfg
Hannes
![]() ![]() |
Betrifft: AW: Laufzeitfehler '1004'
von: Adis
Geschrieben am: 01.10.2014 11:18:33
Hallo Hannes
ich bin über diese Mitteilung sehr irritiert. Was heisst das konkret??
Falls alle Blaetter ausgeblendet sind kann man sie mit dem 2. Makro einblenden.
Mich interessiert was hier schief gelaufen sein könnte, denn ausser Blaetter bzw.
ein ganzes Array ausblenden gibt es keine Anweisungen die etwas blockieren kann.
Aeh, Gedanke ... was passiert sein könnte! Laufzeitfehler??? (fehlerhafter Blattname)
Hat das Programm gestoppt?? Bitte in allen Makro Codes nachsehen ob eine Zeile -gelb-
gefaerbt ist. Dann werden alle anderen Makros blockiert. Bitte den VBA Editor öffnen
und im Menü Run den Menüpunkt -Reset- betaetigen und schauen ob wieder alles laeuft?
In dem Fall gibt es einen Grund den den man finden sollte. Z.B. indem man das Makro
im Einzelschritt startet bis man die fehlerhafte Zeile gefunden hat.
Ich bitte um Rückmeldung den das interessiert mich doch sehr.
Gruss Adis
![]() |