Makro automatisch ausführen
#1
Hallo zusammen,

folgendes Makro ist einem Tabellenblatt hinterlegt:
Code:
Private Sub Worksheet_Open()
Call Spalten_ausblenden
End Sub


Damit möchte ich erreichen, dass ein Makro beim öffnen des Tabellenblattes ausgeführt wird. Irgendwie funktioniert das nicht - zumindest nicht automatisch.

Hab ich da einen Denkfehler?

Viele Grüße
Rudi
Antworten Top
#2
(22.10.2021, 14:42)bigrudi1966 schrieb: Hab ich da einen Denkfehler?

Moin Rudi!
Denkfehler nur dann, wenn Du denkst, Dir Events ausdenken zu können. Wink
Juliane Werding sang mal:
Wenn Du denkst, Du denkst, dann denkst Du nur Du denkst

Und jetzt im Ernst:
Es gibt kein Worksheet_Open()
sondern nur ein Worksheet_Activate()

Folgendes solltest Du studieren, damit Dir sowas zukünftig nicht passiert:
https://www.online-excel.de/excel/singsel_vba.php?f=160

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Abgesehen davon das ich zuviel gedacht habe Wink


Private Sub Worksheet_Activate()
Call Spalten_ausblenden
End Sub



Wäre das so richtig oder muss ich das Tabellenblatt explizit angeben?

VG
Rudi

Update:

Das Makro wird nicht automatisch ausgeführt - Manuell alles bestens
Antworten Top
#4
Hallo

dieser Befehl steht ja schon in dem Blatt was aktiviert wird. Da musst du statt Call nur die gewünschten Spalten angeben.

mfg Gast 123
Antworten Top
#5
Hallo,


Zitat:Private Sub Worksheet_Activate()
Call Spalten_ausblenden
End Sub



Wäre das so richtig oder muss ich das Tabellenblatt explizit angeben?

VG
Rudi

Update:

Das Makro wird nicht automatisch ausgeführt - Manuell alles bestens

Falls du mit Makro die SUB "Spalten_ausblenden" meinst, von der wir bisher nichts zu sehen bekommen haben, so wäre es jetzt Zeit, dies zu ändern, indem du uns eine Excel-Datei hochlädst, in der das gleiche Problem auftritt.
Bzw. ist es einfach zu testen, ob die SUB ausgeführt wird, indem du als erste Anweisung die fett geschriebene Codezeile des folgenden Makros einfügst.

Public Sub Spalten_Ausblenden()
    MsgBox ActiveSheet.Name
    '...
End Sub

Es müsste eine Messagebox mit dem Arbeitsblattnamen erscheinen.
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#6
Hallo

im Augenblick verstehe ich die Aktivitäten im Forum nicht den Befehl Call Spalten_ausblenden in eine brauchbare Lösung umzusetzen.
Sorry, natürlich kann ich mir mit einer MsgBox das AktiveSheet anzeigen lassen, aber wozu bitte??? Das anzuzeigen ist m.E. völlig überflüssig!
Der Befehl Worksheet_Activate wird doch sowieso nur im AktivenSheet ausgeführt wo dieser Code drin steht!  Wozu das nochmal anzeigen??

Haut einfach den unteren Code ins Tabellenblatt rein WELCHE Spalten ausgeblendet werden sollen. Dann hat die Sache doch endlich Ruh, ist gelöst!!
Natürlich bitte die Spalten angeben die ausgeblendet werden sollen, der untere Code ist ja nur ein Beuspiel zum verstehen wie man ausblendet.

mfg  Gast 123

Code:
Private Sub Worksheet_Activate()
   Columns("C:E").EntireColumn.Hidden = True
End Sub

Nachtrag:  sollte der Code beim Öffnen der Datei automatisch ausgeführt werden dann bitte über die Open Funktion in "DieseArbeitsmappe" mit Angabe des Tabellenblatts!
Antworten Top
#7
Hallo,

man kann nur hoffen, dass User bigrudi1966 verstanden hat, was er falsch gemacht hat.
Denn sonst steht er jetzt ohne Hilfe da.
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#8
Hallo zusammen,

dank Eurer Hilfe habe ich es so hinbekommen wie gewollt.

VG
Rudi
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste