Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Feldinhalt in Abhängigkeit einer Eingabe löschen

Forumthread: Feldinhalt in Abhängigkeit einer Eingabe löschen

Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 10:44:35
MMartin
Hallo zusammen,

ich bin neu hier und hoffe hier wird mir geholfen 😊 da mir meine Basiskenntnisse in Excel und VBA nicht ausreichen um mein Problem zu lösen.
Ich habe eine Tabelle mit 4 Spalten. In der ersten Spalte (Erstkontakt) wird das Datum des Erstkontaktes eingegeben. Und in den Spalten 1. Erinnerung und 2.Erinnerung werden die jeweiligen Datumsangaben bis wann der Erstkontakt sich zurückmelden muss vorgegeben. Meldet sich der Erstkontakt zurück, wird ein Datum oder x in die Spalte Rückantwort eingetragen. Anschließend müssen die Datumsangaben in der dazugehörigen Feldern 1. Erinnerung und 2. Erinnerung gelöscht werden.
Mit diesem Code habe ich es geschafft, das wenn ich in das Feld D2 (Rückmeldung) einen Wert eingebe, der Wert in dem Feld A2 (Erstkontakt) gelöscht wird. Kann man diesen Code so erweitern, dass wenn ich in dem Feld Rücklauf einen Wert eingebe, beide dazugehörigen Werte in der Spalte 1. Erinnerung und 2. Erinnerung gelöscht werden? Da ich noch nicht weiß wie viele Erstkontakte es geben wird, würde ich den Code gerne so ändern, sodass ich einen variablen Bereich von D2 bis z. B. D50 angeben kann.

Ich hoffe ich konnte mein Problem verständlich schildern und bedanke mich vorab für jede Hilfe.



Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("D2")) Is Nothing Then
If Me.Range("D2").Value > "" Then
Me.Range("A2").ClearContents
End If
End If
End Sub
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 11:07:40
MMartin
Aus meiner Unkenntnis heraus antworte ich jetzt selbst auf meinen Eintrag, denn ich konnte den Link zur meiner Beispieldatei nachträglich nicht in meinen Beitrag einfügen.

https://www.herber.de/bbs/user/179055.xlsm
AW: Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 11:19:58
hary
Moin
Meinst du es so?
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Me.Range("D2:D50")) Is Nothing Then
If Target > "" Then
Target.Offset(, -3).Resize(1, 3).ClearContents
End If
End If
End Sub

gruss hary
Anzeige
AW: Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 12:46:02
daniel
Hi
man sollte in solchen Makros immer auch die Möglichkeit abdecken, dass der Anwender mehrere Zellen auf einmal ändert.
Außerdem sollte man vermeiden, dass sich das Makro bei einer Änderung der Zellwerte selbst aufruft, damit kann man nämlich schnell in einer Endlosschleife landen.
Diese wird hier war über die Kontrolle des Zellbereichs verhindert, aber besser ist es, wenn das Makro gar nicht erst gestartet wird, wenn es nicht erforderlich ist.
das macht dann Application.EnableEvents:
Private Sub Worksheet_Change(ByVal Target As Range)

dim Zelle as Range
If Not Intersect(Target, Me.Range("D2:D50")) Is Nothing Then
Application.EnableEvents = False
for each Zelle in Intersect(Target, me.Range("D2:D50"))
if Zelle.Value > "" Then Intersect(Range("B:C"), Zelle.EntireRow).ClearContens
next
Application.EnableEvents = true
End If
End Sub


Gruß Daniel
Anzeige
AW: Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 13:11:19
MMartin
Guten Morgen Daniel,

vielen Dank für den Tipp und das Beispiel. An solche Möglichkeiten habe habe ich gar nicht gedacht.

Gruß

Martin
AW: Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 11:33:58
MMartin
Guten Morgen Hary,

fast perfekt, vielen Dank.

Doch so löscht es mir den Wert, dass Datum im Erstkontakt gleich mit weg, doch das sollte stehen bleiben. Es sollten nur die Werte in der 1. Erinnerung und in der 2.Erinnerung gelöscht werden.

Gruß Martin

Anzeige
AW: Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 11:43:26
hary
Moin Martin
Dann so.
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Me.Range("D2:D50")) Is Nothing Then
If Target > "" Then
Target.Offset(, -2).Resize(1, 2).ClearContents
End If
End If
End Sub

gruss hary
Anzeige
AW: Feldinhalt in Abhängigkeit einer Eingabe löschen
25.09.2025 11:45:12
MMartin
Hallo Hary,

ich habe die 3 aus Target.Offset(, -3).Resize(1, 3).ClearContents gegen eine 2 ersetzt, jetzt klappt es tadellos.

Vielen Dank
Gruß
Martin

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige