Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro BeforeClose funktioniert nicht

Makro BeforeClose funktioniert nicht
09.04.2004 22:10:57
Clausi
Hallo,
ich hab ein Makro geschrieben, dass zwei Spalten beim Schließen des Tabellenblattes ausblenden soll.
Als normales Makro (manuell) funktioniert es, aber so ins Klassenmodul eingetragen funktioniert es nicht. Hab bestimmt einen Fehler gemacht - Aber welchen? Wer kann mir helfen.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim iCol As Integer
For iCol = 1 To 256
If Cells(1, iCol) = "Bearbeitungsnummer" Then
Columns(iCol).Hidden = True
End If
Next
For iCol = 1 To 256
If Cells(1, iCol) = "Bearbeiter" Then
Columns(iCol).Hidden = True
End If
Next
End Sub


Danke im Voraus Clausi

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro BeforeClose funktioniert nicht
09.04.2004 22:21:32
Boris
Hi Clausi,
...du musst auch den Blattnamen mit angeben:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim iCol As Integer
With Worksheets("DeinBlatt")
For iCol = 1 To 256
If .Cells(1, iCol) = "Bearbeitungsnummer" Then
.Columns(iCol).Hidden = True
End If
Next
For iCol = 1 To 256
If .Cells(1, iCol) = "Bearbeiter" Then
.Columns(iCol).Hidden = True
End If
Next
End With
End Sub

Grüße Boris
AW: Makro BeforeClose funktioniert nicht
09.04.2004 22:42:17
clausi
Hallo Boris,
ist stell mich heute nicht besonders schlau an.
Ich krieg das nicht hin. Anbei die das xls-File.
https://www.herber.de/bbs/user/5155.xls
Wenn ich die Datei schließe, ohne was zu ändern, müsste doch beim wieder Öffnen die Spalte Bearbeiter und Bearbeitungsnummer weg sein - Oder?
Danke im Voraus Clausi
Anzeige
Kein neues Klassenmodul...
09.04.2004 22:47:42
Boris
Hi Clausi,
...der Code gehört in das in jeder Mappe vorhandene Modul "DieseArbeitsmappe" - dann geht das auch.
Allerdings schau dir mal den Hinweis von Peter an - muss es wirklich ne Schleife über alle Blätter sein?
Grüße Boris
Meinte natürlich...
09.04.2004 22:48:44
Boris
...ne Schleife über alle Spalten (nicht Blätter)...
AW: Makro BeforeClose funktioniert nicht
09.04.2004 23:23:46
Piet
Der Code muss in das Modul von "DieseArbeitsmappe" und das
Modul Klasse1 löschen!.
Piet
AW: With ActiveSheet oder ....
09.04.2004 22:50:53
FP
Hi Boris,
gleich den . weglassen ( in der Annahme, dass das "richtige" Blatt aktiv ist, sonst eben so wie Du es angegeben hast With Sheets("Name")... )
Ausserdem würde ich das so machen:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Columns(WorksheetFunction.Match("Bearbeiter", Rows(1), 0)).Hidden = True
Columns(WorksheetFunction.Match("Bearbeitungsnummer", Rows(1), 0)).Hidden = True
End Sub


Servus aus dem Salzkammergut
Franz
Anzeige
AW: With ActiveSheet oder ....
09.04.2004 22:57:21
Boris
Hi Franz,
a) hab ich mich nicht weiter um den Code gekümmert - nur eben gesehen, dass kein Blatt angegeben wurde - und dann ist es in der Regel Zufall...
b) ist das Problem ja, dass Clausi ein eigenes Klassenmodul kreiert hatte
c) gibt deine Lösung nen Fehler, wenn MATCH nix finden sollte
d) könnte man bei 2 Spalten diese explizit angeben (in der Annahme, dass an der Struktur nicht mehr rumgebastelt wird
e) würd ich das ähnlich wie du machen (nur mit FIND) ;-)
Grüße Boris
AW: With ActiveSheet oder ....
09.04.2004 23:05:02
FP
Hi Boris,
a) habe ich auch nie geglaubt, dass DU 256 Spalten ( noch dazu 2 x ) durchsuchen würdest
b) könnte man den VERGLEICH-Fehler per On Error Resume Next abfangen
c) müsste natürlich gleichzeitig verhindert werden, dass der Anwender den "Code" "Bearbeiter" usw. verändert, damit das ganze noch Sinn macht
aber vor allem
d) da mir gerade eingefallen ist, dass ihr ja heute bereits einen Feiertag hattet: hoffe Du hattest einen schönen Feiertag und wünsche Dir
"Frohe Ostern"
Franz
P.S. Was ist heute mit WF los - keine Freitags-Spielchen am Karfreitag ?
Anzeige
Doch funktioniert, wenn ...
09.04.2004 22:26:24
Volker Croll
Hallo Clausi,
dieses Makro gehoert unter "DieseArbeitsmappe", nicht (z.B.) "Tabelle1". Dann funktioniert es, wenn Deine Mappe nur ein Blatt hat.
Bei mehreren Blaettern muss Du dem Makro natuerlich noch sagen, welches Blatt gemeint ist.
Gruss
Volker Croll
www.crolltools.de
AW: Doch funktioniert, wenn ...
09.04.2004 23:24:40
Clause
Hallo
Volkers Hinweis hat mir geholfen -Funktioniert
Thanks!
AW: Makro BeforeClose funktioniert nicht
09.04.2004 22:28:12
PeterW
Hallo Clausi,
musst du wirklich alle Spalten abfragen (der Code stand im Forum für Rudi, der nicht wusste, in welchen Spalten die Bezeichnungen stehen)? Direkt ausblenden geht schneller. :-)
Gruß
Peter
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige