Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

Dropdown mit worksheet_change

Dropdown mit worksheet_change
05.05.2020 11:25:04
Sascha
Hallo,
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
  • Option Explicit
    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?

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Dropdown mit worksheet_change
    05.05.2020 12:00:26
    MRUTor
    Hallo Sascha,
    versuchs mal so, ungetestet:
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lngLast As Long
    If Not Intersect(Target, Range("B3:D3")) Is Nothing Then       'Bereich erweiterbar
    Target.Copy
    lngLast = Cells(Rows.Count, Target.Offset(0, 1).Column).End(xlUp).Row
    Range(Cells(Target.Row + 1, Target.Column), Cells(lngLast, Target.Column)).PasteSpecial  _
    Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Target.Select
    Application.CutCopyMode = False
    End With
    End If
    End Sub
    

    Gruss Tor
    AW: Dropdown mit worksheet_change
    05.05.2020 12:32:34
    MRUTor
    Sorry, das "End With" musst du noch loeschen. Vergessen.
    Anzeige
    AW: Dropdown mit worksheet_change
    05.05.2020 13:14:30
    Sascha
    Hi,
    funktioniert super :).
    Vielen Dank.
    Gern geschehen
    05.05.2020 13:17:47
    MRUTor

    214 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige