Excel - Zelleninhalt löschen, wenn in einer anderen Zelle "FALSCH" ist.
Hallo Community,
Ich habe in Excel folgendes problem: Ich möchte, dass wenn in der Zelle D19 "FALSCH" steht, dass in der zelle D20 der Inhalt gelöscht wird. - Automatisch versteht sich - DOCH: Ich möchte das nicht über die Wennformel eingeben (also: =wenn(D19="FALSCH";"";"...."), denn ich möchte das man in der Zelle D20 etwas eingeben kann. (und wenn der Benutzer etwas eingibt, so würde die Formel gelöscht) Das heißt es soll entweder über MAKRO oder über VBA gehen.
Wisst ihr eine Lösung?
2 Antworten
Hallo,
starte im Excel den Visual Basic-Editor (Extras --> Makro --> Visual Basic-Editor) und wähle im Projekt-Explorer Dein Projekt und das entsprechende Tabellenblatt aus (s. Bild). Gib dann im Codefenster folgenden Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D19").Value = "Falsch" Then Range("D20").Value = ""
End Sub
Das Makro wird ab sofort jedesmal aufgerufen, wenn in Deinem Tabellenblatt ein Wert geändert wird.

Also erst mal ist VBA und Makro das selbe, da gibts kein oder. ggg
Dein Makro ist fast richtig
wenn der Fragesteller "falsch" als Text eingibt funktioniert es, bei "FALSCH" (Großschreibung) so wie in der Fragestellung angegeben funktioniert es schon nicht mehr. Ich gehe jedoch schwer davon aus das der Fragesteller hier das Boolsche Argument Falsch meint welches nur mit =False abgefragt werden kann. Dagegen spricht jedoch das in der Formel Anführungszeichen verwendet werden die wiederrum auf den Text "FALSCH" schliessen lassen
Wenn "FALSCH" ein Text ist:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D19").Value = "FALSCH" Then Range("D20").Value = ""
End Sub
Wenn FALSCH das boolsche Argument ist:
Wenn "FALSCH" ein Text ist:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D19").Value = False Then Range("D20").Value = ""
End Sub
Da bei Makros immer nervige Anfragen wegzuklicken sind, schlage ich Dir einen anderen Weg (eine Umleitung) vor (gestern schon mal für jemand anderen gemacht):
Verwerte die Eingabe(sie sei in A1) nicht direkt, sondern geh über eine Zwischenzelle, wo Du dann die Wenn-Bedingung reinschreibst, also
=wenn(Bedingungszelle=FALSCH;"-";A1)
anstatt "-" kannst Du natürlich auch Zahlen, leer oder "grmpf" reinschreiben, leer empfehle ich nicht, weil man dann nicht sieht, dass überhaupt was in der Zelle steht.
Makros sind was Interessantes=Schönes, aber sollten nur für anders-nicht-Machbares sein!