Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

wenn Funktion und Makro





Frage

Hallo miteinander! Wieder eine Frage von einem Anfänger. Ich möchte gerne nach einer positiven Abrage bei einer "wenn Funktion" als Antwort ein Makro ablaufen lassen. Nach dem Motto: Wenn A1 = "abc" dann Makro Geht das? Wenn ja, wie ist der Syntax hinter dem ; Danke für jede Antwort Paul

Antwort 1 von coros

Hi Paul,

nachfolgenden Code in das VBA-Projekt Deiner Tabelle kopieren.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = "abc" Then  'Wenn in Zelle A1 der Text abc steht, dann...
Dein_Makro                   '...führe das Makro "Dein Makro" aus.
End If                       'Ende der If Abfrage

End Sub


Der Code macht folgendes: Wenn in Zelle A1 der Text abc steht, dann wird ein makro, in diesem Beispiel das Makro "Dein_Makro", ausgeführt. Wenn keine Textübereinstimmung vorhanden ist, passiert nichts. Für eine andere Bedingung als abc, muss in der Zeile

If Range("A1") = "abc" Then

der text abc, der in den Anführungsstrichen steht (""), abgeändert werden. Der Name Deines Makros muss gegen den Text

Dein_Makro

getauscht werden.

Ich hoffe, Du kommst klar. Wenn nicht, melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Knasti

Hi coros,
habe mich wohl zu undeutlich ausgedrückt.
Der Sinn der Sache ist folgender:
In einer Tabelle geben viele Leute Daten ein.
Dabei errechtnet sich in einer Spalte jehweils ein "ja" oder "nein"
Jetzt möchte ich erreichen, daß jemand der mit seiner Eingabe ein "nein" verursacht, daran erinnert wird, in einer anderen Spalte eine Begründung einzugeben.
Also etwa so:
Wenn aktuelle Zeile z.B. D15="Nein" und E15="", dann MsgBox " Begründung eingeben"
Ich hoffe, Problem ist deutlicher geworden.
Gruß Paul

Antwort 3 von coros

Hi Paul,

so sehe ich das aber auch, dass Du Dich wohl etwas undeutlich ausgedrückt hast. Hier nun das, was Dich sicherlich weiterbringen sollte, sofern die Aufgabenstellung in Deinem letzten Beitrag komplett war und nicht nur halb.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D15") = "Nein" And Range("E15") = "" Then
MsgBox "Begründung eingeben!"
End If
End Sub


Ich hoffe, ich habe nun den Nagel auf den Kopf getroffen. Wenn nicht, nochmal posten.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: