löschen von Zellinhalten in Ecxel

Hallo,
ich bin das erste mal auf dieser Seite und möchte mich mit einem Problem in Excel an Euch wenden.

Ich habe eine Datei mit 56 Spalten. Wichtig sind die Spalten A und B.
Beide Spalten sind mit einer Zählfunktion ausgerüstet.
Jede Zeile mit jeweils 3 bedingten Formartierungen.

In Spalte A sind alle Zeilen mit „x“ angekreuzt.
Nun möchte ich das sobald in Spalte B ein „x“ gesetzt wird, dass das benachbarte „x“ gelöscht wird.

Hierzu habe ich einen Code der sich aber nur auf eine
Zeile (z.B. A1 und B1) auswirkt.

Hier der der Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range(„B1“) = „x“ Then
Range(„A1“).ClearContents
End If
End Sub

Wenn ich was funktionert, den nachfolgenden Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range(„B1“) = „x“ Then
Range(„A1“).ClearContents
End If
If Range(„B2“) = „x“ Then
Range(„A2“).ClearContents
End If
If Range(„B2“) = „x“ Then
Range(„A2“).ClearContents
End If
…usw. > 850 Zeilen
End Sub

benutze, macht Excel schlapp.

Gibt es da etwas kürzeres.

Würde mich freuen wenn jemand eine Lösung hätte.

schon mal vielen Dank für eure Mühen,

lernfix

Hallo Lernfix,

zum einen würde ich das Ding aus der SelecttionChange rausnehmen, denn in diesem Fall wird bereits beim reinen Wechseln der aktiven Zelle die Berechnung ausgelöst. Das gehört eigentlich direkt ins Change-Ereignis des Worksheets.

Folgende Prozedur sollte (in Tabelle1) das tun, was Du brauchst:

Private Sub Worksheet\_Change(ByVal Target As Range)
 Dim cZelle As Range

 For Each cZelle In Target.Cells
 If cZelle.Column = 2 Then
 If LCase(cZelle) = "x" Then
 Tabelle1.Cells(cZelle.Row, 1) = ""
 End If
 End If
 Next cZelle
End Sub

Viele Grüße
Manfred

Hallo Manfred,
habe es ausprobiert und … es funktioniert 1a
Vielen Dank für die schnelle Lösung

LG Lernfix

M.E. wird kein Makro benötigt, es reicht die Tabellenfunktion
=WENN(ZS(1)=„x“;"";„x“)
in den Zellen der 1.Spalte aus.
Gruß!
Friedrich

Hallo,
ich bin das erste mal auf dieser Seite und möchte mich mit
einem Problem in Excel an Euch wenden.

Ich habe eine Datei mit 56 Spalten. Wichtig sind die Spalten A
und B.
Beide Spalten sind mit einer Zählfunktion ausgerüstet.
Jede Zeile mit jeweils 3 bedingten Formartierungen.

In Spalte A sind alle Zeilen mit „x“ angekreuzt.
Nun möchte ich das sobald in Spalte B ein „x“ gesetzt wird,
dass das benachbarte „x“ gelöscht wird.

Gibt es da etwas kürzeres.

schon mal vielen Dank für eure Mühen,

lernfix

Hi lernfix,

mach es wie Friedrich geschrieben hat, pack die Formel in A1 und ersetze einfach ZS(1) durch B1 und schon geht das „on-the-fly“ und Makrolos!

Cheers
Patrick

Vielen Dank, funktioniert
VG Lernfix