Anzeige
Archiv - Navigation
1216to1220
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code will nicht

Code will nicht
Lorenz
Hallo & guten Abend
Der untenstehende Code funktioniert leider nur wenn er manuell (F8) angefordert wird. Leider nicht beim öffnen der Datei.
Weiss vielleicht jemand warum es sich so verhält?

Private Sub Workbook_Open()
Dim vMonth As Variant
If ThisWorkbook.Path = "V:\Neu\Test" Then
vMonth = Format(Date, "mmmm yyyy")
For Each sht In ThisWorkbook.Worksheets
If sht.Name  vMonth Then sht.Visible = xlSheetVeryHidden
Next
End If
End Sub

Gruss
Lorenz

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code will nicht
26.05.2011 22:00:23
Hajo_Zi
Hallo Lorenz,
Du hast den Code schon unter DieseArbeitsmappe, nicht Modul, nicht Tabelle?

AW: Code will nicht
26.05.2011 22:16:00
Lorenz
Hallo Hajo
Ja, er befindet sich in DieseArbeitsmappe.
Grüsse
Lorenz
AW: Code will nicht
27.05.2011 06:34:15
Hajo_Zi
Hallo Lorenz,
dann stimmt kein Registername mit der Vorgabe überein.
Gruß Hajo
AW: Code will nicht
26.05.2011 22:17:45
Lorenz
Hallo,
Vielleicht hat es was auf sich mit: Die Datei befindet sich auf einem "Netzlaufwerk"
Gruß
Lorenz
AW: Code will nicht
27.05.2011 06:31:50
Hajo_Zi
Hallo Lorenz,
der Ablageort ist Egal. Da ich vermute der Stand nicht im Code.
Gruß Hajo
Anzeige
Code hat Mängel
27.05.2011 08:13:18
Erich
Hi Lorenz,
probier mal

Option Explicit                        ' immer zu empfehlen
Private Sub Workbook_Open()
'   Dim vMonth As Variant           ' Warum Variant?
Dim strMon As String, sht As Worksheet
MsgBox "Path: " & Me.Path
If ThisWorkbook.Path = "F:\exc\www\tmp" Then
strMon = Format(Date, "mmmm yyyy")
For Each sht In ThisWorkbook.Worksheets
If sht.Name  strMon Then sht.Visible = xlSheetVeryHidden
Next
End If
End Sub
Was wird als Pfad angezeigt?
Mit Option Explicit hättest du nicht übersehen können, dass sht nicht deklariert ist.
Da der Code in DieseArbeitsmappe steht, ist "ThisWorkbook" überflüssig. Du könntest es durch "Me" ersetzen.
In einer Mappe können nicht alle Blätter gleichzteitig ausgeblendet sein.
Ist Blatt "Mai 2011" zufällig gerade ausgeblendet, wird dein Code aber versuchen, auch alle anderen auszublenden.
Das gibt dann einen Fehler 1004.
Du solltest sicherheitshalber vorher prüfen, ob Blatt "Mai 2011" existiert und eingeblendet ist.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Du könntest es durch "Me" ersetzen.
27.05.2011 10:13:01
Rudi
Hallo Erich,
selbst das 'Me' kannst du weglassen
MsgBox "Path: " & Path
MsgBox "Name: " &Name
Gruß
Rudi
@Rudi: Schon klar, war nur ein "könntest" (owT)
27.05.2011 10:21:36
Erich
AW: Code hat Mängel
27.05.2011 22:28:32
Lorenz
Hallo Erich
Konnte den Code leider erst jetzt ausprobieren. Leider ist trotz Anpassung des Codes (Nach deinen Angaben) das Problem nicht behoben. Selbes verhalten wie gehabt.
zu Warum Variant? :das war nur ein Überbleibsel vom Probieren, den ich vergessen hab zurück zu stellen.
Danke u. Grüsse
Lorenz
Rückfragen
27.05.2011 23:00:28
Erich
Hi Lorenz,
kannst du "Selbes verhalten wie gehabt." bitte mal genauer beschreiben?
2. Rückfrage: Was wird als Pfad angezeigt? (in der MsgBox in meinem Code)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Pfad geändert?
27.05.2011 23:11:18
Erich
Hi Lorenz,
in meinem Code hatte ich zum Testen einen anderen Pfad eingetragen.
Hast du bei dir "F:\exc\www\tmp" ersetzt durch "V:\Neu\Test" ?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Pfad geändert?
27.05.2011 23:16:32
Lorenz
Hallo Erich
Ja, den Pfad habe ich angepasst. Und in der Msgbox wird der richtige Pfad angezeigt (Zeichen für Zeichen genau wie im Code angegeben.
Grüsse
Lorenz
eins bleibt noch
27.05.2011 23:24:20
Erich
Hi Lorenz,
kannst du "Selbes verhalten wie gehabt." bitte mal genauer beschreiben?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: eins bleibt noch
27.05.2011 23:41:18
Lorenz
Hallo Erich
Mit selbiges verhalten ist gemeint:
Automatisches Ausführen bei öffnen der Datei im beschriebenen "Pfad" funktioniert nicht. Bei manuellem auslösen, also betätigen der "F8" (Einzelschritt) werden alle Blätter außer das Blatt "Mai 2011" ausgeblendet.
Ohne Laufzeitfehler oder dergleichen.
Grüsse
Lorenz
Anzeige
mal etwas Anderes
28.05.2011 08:06:03
Erich
Hallo Lorenz,
vielleicht liegt das Problem ja ganz woanders und hat mit dem Ausblenden der Blätter nichts zu tun.
Probier doch mal das aus:

Private Sub Workbook_Open()
MsgBox "Es läuft"
End Sub
Wird die MsgBox beim Öffnen automatisch angezeigt?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: mal etwas Anderes
28.05.2011 17:35:40
Lorenz
Hallo Erich
Kann es leider erst am 29.5. ausprobieren.
Melde mich dann wieder.
Grüße
Lorenz
AW: mal etwas Anderes
29.05.2011 06:49:12
Lorenz
Hallo Erich
zu: Wird die MsgBox beim Öffnen automatisch angezeigt?
Deine Vermutung ist genau die richtige. Es funkt eine ganz einfache msgbox auch nicht!
Gruß
Lorenz
Anzeige
AW: mal etwas Anderes
29.05.2011 07:53:38
Hajo_Zi
Hallo Lorenz,
ich hatte es schon zu Beginn geschrieben. Code unter DieseArbeitsmappe, nicht Modul, nicht Tabelle.
Die Sicherheisstufe steht schon auf mittel?
Gruß Hajo
AW: mal etwas Anderes
29.05.2011 16:47:35
Lorenz
Hallo Hajo
Code steht sowieso in "DieseArbeitsmappe" (nicht Modul, nicht Tabelle)
Und die Sicherheisstufe steht auf mittel.
Grüsse
Lorenz
AW: mal etwas Anderes
29.05.2011 16:52:38
Hajo_Zi
Hallo Lorenz,
dann kann man das nicht nachvollziehen. Nur wenige sehe Deine Datei um genauere Angaben machen zu können.
Gruß Hajo
Anzeige
mal etwas ganz Anderes
29.05.2011 18:41:31
Erich
Hi Lorenz,
das sehe ichgenau wie Hajo: Ohne deine Mappe bzw. genauere Kenntnis deiner Einstellungen
kann man wohl nicht sagen, warum dein Workbook_Open streikt.
Übrigens: So ca. 15 Beiträge weiter oben in diesem Thread
( Code hat Mängel - von Erich G. am 27.05.2011 08:13:18 )
hatte ich dir einen Code gepostet, in dem gleich am Anfang auch eine MsgBox stand.
Du hast diesen Code wohl nicht richtig getestet, sonst hättest du da bereits erkannt,
dass Workbook_Open überhaupt nicht (automatisch) läuft.
Dass der Pfad bei schrittweiser (F8-)Ausführung richtig angezeigt wurde, war ohne Bedeutung.
Mit F8 funktioniert ja auch das Ausblenden.
Du hast nur mitgeteilt, dass der Pfad richtig angezeigt werde, nicht aber, wobei...
Noch ein Vorschlag:
Erstelle eine neue Mappe, mit einem Einfachst-Workbook_Open() mit MsgBox "Es läuft".
Funktioniert die Automatik mit den neuen Mappe?
Auf diese Weise kann man vielleicht herausfinden, ob es nur an der speziellen Mappe liegt
oder Excel sich bei allen Mappen so verhält.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige