Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro aus einer Zelle aufrufen

Makro aus einer Zelle aufrufen
19.05.2004 11:10:23
Marc
Hallo,
ich habe das übliche Problem das Excel eine bedingte Zellenformatierung nur mit 3 bzw. 4 Formatvorgaben kann.
Nun habe ich die Formatierung in VBA programmiert, jedoch möchte ich, dass die Zelle sofort nach der Eingabe ohne händischen Aufruf durch mein Makro formatiert werden. D.h. das Makro sollte automatisch bei anklicken der Zelle ausgeführt werden.
Marc
p.s. mein Code ist bis jetzt:
Public Function Farben()
Select Case Cells(11, 1)
Case Is = "1"
Cells(11, 1).Interior.ColorIndex = 1
Cells(20, 1).Interior.ColorIndex = 1
Case Is = "2"
Cells(11, 1).Interior.ColorIndex = 2
Cells(20, 1).Interior.ColorIndex = 2
Case Is = "3"
Cells(11, 1).Interior.ColorIndex = 3
Cells(20, 1).Interior.ColorIndex = 3
Case Is = "4"
Cells(11, 1).Interior.ColorIndex = 4
Case Is = "5"
Cells(11, 1).Interior.ColorIndex = 5
Case Is = "6"
Cells(11, 1).Interior.ColorIndex = 6
Case Is = "7"
Cells(11, 1).Interior.ColorIndex = 7
Case Is = "8"
Cells(11, 1).Interior.ColorIndex = 8
Case Is = "9"
Cells(11, 1).Interior.ColorIndex = 9
Case Is = "10"
Cells(11, 1).Interior.ColorIndex = 10
Case Is = "11"
Cells(11, 1).Interior.ColorIndex = 11
Case Is = "12"
Cells(11, 1).Interior.ColorIndex = 12
End Select
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro aus einer Zelle aufrufen
Martin
Hallo Marc,
mit einer Function wird das nichts. Pack den Code in eine Worksheet_Change-Ereignisprozedur. Beispiele hierfür findest Du sicher über die Recherche.
Gruß
Martin Beck
AW: Makro aus einer Zelle aufrufen
19.05.2004 11:39:26
Sven
Hallo Marc,
das ganze könnte etwa so aussehen:

Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.AddressLocal = "$<Zeile>$<Spalte>" Then
Call MyMakro1
End Sub


Sub MyMakro1()
Select Case Cells(11, 1)
Case Is = "1"
Cells(11, 1).Interior.ColorIndex = 1
Cells(20, 1).Interior.ColorIndex = 1
Case Is = "2"
Cells(11, 1).Interior.ColorIndex = 2
Cells(20, 1).Interior.ColorIndex = 2
Case Is = "3"
Cells(11, 1).Interior.ColorIndex = 3
Cells(20, 1).Interior.ColorIndex = 3
Case Is = "4"
Cells(11, 1).Interior.ColorIndex = 4
Case Is = "5"
Cells(11, 1).Interior.ColorIndex = 5
Case Is = "6"
Cells(11, 1).Interior.ColorIndex = 6
Case Is = "7"
Cells(11, 1).Interior.ColorIndex = 7
Case Is = "8"
Cells(11, 1).Interior.ColorIndex = 8
Case Is = "9"
Cells(11, 1).Interior.ColorIndex = 9
Case Is = "10"
Cells(11, 1).Interior.ColorIndex = 10
Case Is = "11"
Cells(11, 1).Interior.ColorIndex = 11
Case Is = "12"
Cells(11, 1).Interior.ColorIndex = 12
End Select
End Sub

Gruß, Sven
Anzeige
AW: Makro aus einer Zelle aufrufen
Martin
Hallo Sven,
im ersten Code fehlt das End If.
Ich habe es ausprobiert und es passiert überhaupt nichts, wenn ich verschiedene Zellen anklicke. Zu meinem Verständnis: Was soll die Zeile
If Target.AddressLocal = "$$" Then
bewirken? Die Bedingung wird anscheinend nämlich nie erfüllt.
Gruß
Martin Beck
Anzeige
AW: Makro aus einer Zelle aufrufen
19.05.2004 12:45:59
Sven
Hallo Martin,
mit z.B.
If Target.AddressLocal = "$A$1" Then

EndIf
gibt's Du an, das bei Selektion/Aktivierung von Zelle A1 die ausgeführt werden sollen. Soll bei verschiedenen Zellen etwas passieren, mußt Du halt die betreffenden Zellen angeben.
Gruß, Sven
Anzeige
Mir fällt's wie Schuppen von den Augen
den
Hallo Sven,
ja klar, ich konnte mit den Klammerausdrücken nichts anfangen.
Gruß
Martin Beck
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige