HERBERS Excel-Forum - das Archiv
Wenn Zelle A1 beschrieben dann Zelle A2 leeren...
Vogel

Hi,
mir fehlt absolut nicht ein wie die Funtion heißt.
Also,
wenn ich in Zelle A1 etwas schreibe, dann soll es mir Zelle A2 löschen.
Schreibe ich dann aber in Zelle A2 etwas, dann soll es mir Zelle A1 löschen.
Gruß Michael

Dafür gibt es keine Funktion
Erich

Hi Michael,
was soll passieren, wenn gleichzeitig A1 und A2 geändert werden?
(Das geht z. B., indem man die Werte von zwei Zellen in den Bereich A1:A2 kopiert.)
Eine solche "Funktion" gibt es nicht. Das programmiert man in VBA, als Ereignismakro.
Einen Vorschlag will ich gern machen - nach deiner Antwort.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S.: VBA gut?
AW: Dafür gibt es keine Funktion
Vogel

Hi,
das beide Zelle beschrieben werden, darf es nicht geben.
Es kann immer nur A1 oder A2 mit dem Text "X" beschrieben sein.
VBA-Eigentlich nur mit Copy&Paste und ab und zu manuel etwas abändern.
Gruß Michael
mit Gültigkeit
WF

Hi,
Gültigkeitsbedingung in A1: =A2=""
und in A2: =A1=""
Salut WF
AW: mit Gültigkeit
Vogel

Hi,
die Lösung ist fast richtig. Wenn aber jemand was in A1 schreibt, soll der Wert in A2 gelöscht werden!! Jetzt kommt aber nur eine Fehlermeldung.
dann lösch halt bei ner Fehlermeldung
WF

automatisch löschen geht nur per VBA.
Salut WF
Vorschlag
Erich

Hi Michael,
probier mal (Prozedur gehört in das Modul der Tabelle, in der sie wirken soll):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngB As Range
Set rngB = Intersect(Target, Cells(1, 1).Resize(2))
If Not rngB Is Nothing Then
If rngB.Count = 2 Then
MsgBox "Es darf nur eine Zelle geändert werden."
ElseIf rngB.Count = 2 Then
Application.EnableEvents = False
If rngB.Row = 1 Then
Cells(2, 1).ClearContents ' oder Clear
Else
Cells(1, 1).ClearContents ' oder Clear
End If
Application.EnableEvents = True
End If
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Vorschlag
Vogel

Hi,
hier kommt die Meldung nur wenn ich beide lösche. Ansonsten passiert nichts.
AW: Wenn Zelle A1 beschrieben dann Zelle A2 leeren...
Hajo_Zi

Hallo Volker,
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$1" And Target <> "" Then
Range("A2") = ""
ElseIf Target.Address = "$A$2" And Target <> "" Then
Range("A1") = ""
End If
Application.EnableEvents = True
End Sub

AW: Wenn Zelle A1 beschrieben dann Zelle A2 leeren...
Vogel

Funktioniert ;-)