online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Heinz28 vom 15.03.2019, 18:06 Options

Makro automatisch ausführen

Hallo
Ich habe mit VBA ein Makro geschrieben um in einer Excel-Datei die Zellen und die Schriftfarbe eintragsbezogen zu formatieren (Farbe anpassen). Nun muss ich aber dieses Makro immer manuell (mit Alt+F8; Enter) starten. Wie erreiche ich, dass das Makro beim Öffnen oder schliessen der Datei automatisch ausgeführt wird?
Ich danke für Eure Hilfe.

Gruss Heinz


Antwort schreiben

Antwort 1 von Hajo_Zi vom 15.03.2019, 18:31 Options

Hallo Heinz,

schreibe es es unter DieserArbeitsmappe unter

Private Sub Workbook_Open()


Gruß Hajo

Antwort 2 von Heinz028 vom 15.03.2019, 20:29 Options

Hallo Hajo

Danke für die schnelle Hilfe. Leider konnte ich noch nicht den gewünschten Erfolg erzielen. Ich möchte, dass ich die Spalte/Zeile nicht markieren muss, um das Makro auszuführen. Das Makro sollte vollautomatisch ausgeführt werden, wenn die Datei (Arbeitsblatt) geöffnet oder geschlossen wird. Alle Daten befinden sich in Spalte "A", Zeile3 bis ca 200

Mein Makro, welches als "Modul1" editiert ist, sieht nun folgendermassen aus:

Option Compare Text
Private Sub Workbook_Open()
Sub Zellenfarbe()
Dim MyCell As Range
For Each MyCell In Selection
If MyCell.Value Like "*Preferred*" Then
MyCell.Interior.Color = RGB(0, 255, 51)
MyCell.Font.Color = RGB(255, 0, 51)
MyCell.Font.Bold = True
ElseIf MyCell.Value Like "*Standard*" Then
MyCell.Interior.Color = RGB(255, 255, 51)
MyCell.Font.Color = RGB(100, 50, 45)
MyCell.Font.Bold = True
ElseIf MyCell.Value Like "*Old*" Then
MyCell.Interior.Color = RGB(255, 0, 51)
MyCell.Font.Color = RGB(255, 255, 255)
MyCell.Font.Bold = True
ElseIf MyCell.Value = "" Then
MyCell.Interior.Color = RGB(255, 255, 255)
End If
Next
End Sub

Ich danke für die tolle Hilfe
Gruss Heinz

Antwort 3 von Primut vom 15.03.2019, 22:33 Options

Hallo Heinz,

da gab es scheinbar ein paar Mißverständnisse:

1. Du hast ja im Makro angegeben
For Each Cell in Selection
,
allerdings ohne überhaupt etwas im Makro zu selektieren!
Dort musst du einfach den Bereich eintragen:
For Each MyCell In Range("A3:A200")


2. Automatisch beim Öffnen ausführen:
Doppelklick im Projektexplorer auf diese Arbeitsmappe
und dort auswählen
Workbook 
und
 Open

Dieses Makro wird dann beim öffnen aktiviert. Trag dort dein Makro ein und es wird aufgerufen:
Private Sub Workbook_Open()
Zellenfarbe
End Sub

Gleiches gilt für automatisches Ausführen beim Schließen des Workbooks.
Und logisch; das falsch eingefügte
Private Sub Workbook_Open() 
entfernen.

Gruß
    Primut

Ähnliche Themen

Makro automatisch aktualisieren
pc-makro  07.02.2007 - 192 Hits - 1 Antwort

Makro in internetseite?
Pes  15.02.2007 - 64 Hits - 1 Antwort

Makro auf mehreren Rechnern verwenden
chriskuf  04.07.2007 - 48 Hits - 4 Antworten

Makro soll beliebig viele Datensätze mit ausführen
Beatlefield  26.11.2007 - 101 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026