Dropdown mit worksheet_change
05.05.2020 11:25:04
Sascha
ich möchte in einem Arbeitsblatt folgendes erreichen.
Zelle B3 ist ein Dropdownfeld (Datenüberprüfung...). Nachdem ein Wert über das Dropdownfeld ausgewählt wurde, soll dieser Wert in den darunter befindlichen Zeilen der gleichen Spalte (also ab B4...) erscheinen. Gleichzeitig sollen aber die Zellen ab B4 beschreibbar sein, so dass der per Dropdown eingefügte Wert gelöscht oder bearbeitet werden kann. Eine Formel scheidet somit ab B4 aus. Es sollen alle Zeilen der Spalte B (also ab B4) mit dem Wert aus B3 befüllt werden, bis das Ende der Nachbarspalte (Variante1 -Spalte A, Variante 2 - Spalte C) erreicht ist. Damit das ganze nicht nur für eine Zelle gilt, müsste der Code so angepasst werden, dass gleiches z.B. auch für C3, D3... gilt. Er soll also erweiterbar sein (idealerweise ggfs. für weitere Arbeitsblätter der gleichen Mappe)
Momentan habe ich folgenden Stand:
VBAProjekt-> Tabelle1
Private Sub worksheet_change(ByVal target As Range)
If target.Address = "$B$3" Then
With ActiveSheet
Range("B3").Copy
Range("B4:B" & Cells(Rows.Count, "C").End(xlUp).Row).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("B3").Select
Application.CutCopyMode = False
End With
End If
End Sub
Das klappt für die Zelle B3 in Bezug auf die Länge der Nachbarspalte C soweit recht gut. Wenn ich nun das gleiche für C3, D3... möchte, wird der Code ziemlich lang und ist sicher nicht so optimal. Ich habe mich schon mit Range und Offset herumgeschlagen, aber irgendwie lande ich in einer Sackgasse.
Hat wer eine zündende Idee?