Excel - Wert durch Bedingung setzen und rücksetzen

Chased

Ensign
Registriert
März 2008
Beiträge
226
Folgendes:

Es gibt die Felder A1 , A2 und A3.
A1 soll standardmäßg "0" sein und sobald A2 "1" ist soll auch A1 auf "1" springen
-dieser Wert soll beibehalten werden, auch wenn A2 wieder auf "0" springt!

A1 soll erst wieder auf "0" springen wenn A3 "1" ist.
Also quasi ein setzen und rücksetzen per Bedingung.

Wie bekomme ich das hin?

Mfg
Chase
 
Da muss ein Makro her:
Code:
Sub Bedingung()

If Range("A2") = 1 And Not Range("A3") = 1 Then 'wenn A2 = 1 und nicht gleichzeitig A3 = 1, dann
  Range("A1") = 1 'setze A1 = 1
ElseIf Range("A3") = 1 Then 'falls A3 = 1, dann
  Range("A1") = 0 'setze A1 = 0
End If

End Sub
Das ganze fügst du im VBA-Editor (Alt+F11) über Einfügen | Modul in ein neues Modul ein.

Soll das ganze automatisch bei einer Eingabe aktualisiert werden oder genügts manuell?
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort!

Hatte bis jetzt leider noch nichts mit Makros am Hut und versuche mich gerade schlauer zu lesen.
Ich hab deinen Code dort im VBA eingefügt und gespeichert aber A1 ändert sich nicht wenn ich bei A2 1 eingebe.
Muss ich das Makro erst noch irgendwie aktivieren oder sonst was?

Edit:
In dem Zusammenhang wie ich es später benutzen möchte soll sich A1 immer automatisch aktualisieren wenn eine passende Bedingung erfüllt wird.
A2 und A3 hängen dann wiederum von anderen Sachen ab.
Ich muss halt erstmal verstehen wie es generell funktioniert
 
Zuletzt bearbeitet:
Also wenn es automatisch bei einer Zellenänderung laufen soll, dann füge dieses Makro im VBA-Editor in deine Tabelle ein (nicht in ein separates Modul):
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$2" Or Target.Address = "$A$3" Then 'Prüfen, ob Zelle A2 oder A3 verändert wurden
  If Range("A2") = 1 And Not Range("A3") = 1 Then 'wenn A2 = 1 und nicht gleichzeitig A3 = 1, dann
    Range("A1") = 1 'setze A1 = 1
  ElseIf Range("A3") = 1 Then 'falls A3 = 1, dann
    Range("A1") = 0 'setze A1 = 0
  End If
End If

End Sub
Andernfalls müsstest du das Makro nach jeder Änderung erst manuell anschubsen.
 
funktioniert nun bestens, danke! :)
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben