Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formularfeld leeren bei Änderung in anderem Feld

Formularfeld leeren bei Änderung in anderem Feld
11.10.2023 12:52:10
SohnVonJosef
Hallo allerseits,

siehe beigefügte Beispiel-Datei:

https://www.herber.de/bbs/user/163334.xlsx

Ich habe einen Auswahlbereich (gelb) und einen Auswahlbereich (blau).

Die Antwortmöglichkeiten in blau sind von der in gelb gewählten Antwort abhängig (mittels Datenüberprüfung/Liste und BEREICH.VERSCHIEBEN.

Kann man es einrichten, dass sich der jeweilige blaue Bereich automatisch leert, sobald sich der Wert im dazugehörigen gelben Auswahlbereich ändert?


Danke und Gruß

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formularfeld leeren bei Änderung in anderem Feld
11.10.2023 13:03:41
daniel
Hi
das müsstest du programmieren.
beispielsweise so im Modul des Tabellenblatts:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.CountLarge = 1 Then
If Target.Column = 4 Then
Application.EnableEvents = False
Target.Offset(0, 3).Formula = ""
Application.EnableEvents = True
End If
End If
End Sub


Gruß Daniel
AW: Formularfeld leeren bei Änderung in anderem Feld
11.10.2023 16:16:36
SohnVonJosef
Hallo daniel,

das hat wunderbar funktioniert. Vielen Dank für die schnelle Hilfe.

Ich versuche gerade, die Funktionalität des Makros zu verstehen. Könntest du mir vielleicht zwei Fragen beantworten (nur damit ich aus der Sache auch etwas lerne)?

Was genau bewirkt
If Target.CountLarge = 1 Then
?

Und warum werden Events deaktiviert, bevor die Zielzelle mittels
Formula = ""
geleert werden?

Nochmals vielen Dank.

Gruß
SVJ
Anzeige
AW: Formularfeld leeren bei Änderung in anderem Feld
11.10.2023 18:09:00
daniel
Hi
Count ist hier die Anzahl der Zellen, die geändert wird (Target).
Zum einen ist dieses Makro nur sinnvoll, wenn du eine Zelle änderst (DropDown), zum anderen vereinfacht sich die Programmierung, wenn man sicher ist, dass Target nur eine Zelle ist, wenn du mehrere Zellen gleichzeitig änderst und das berücksichtigt werden sollte, müsste man einiges anders machen.
CountLarge muss man anwenden, weil Excel seit 2007 mehr Zellen hat, als es mit dem einfachen Count zählen kann, und das Makro soll ja nicht abstürzen, wenn du mal alle Zellen markierst und bearbeitest.

das ausschalten der Events ist der einfachste Weg, die Endlosschleife beim Selbstaufruf der Eventmakros zu vermeiden.
Auch wenn das hier vielleicht durch die Abfragen kein Thema wäre, vorallem beim Testen im Einzelstep ist es lästig, wenn das Makro erneut aufgerufen wird.

Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige