dein Betreff hat ja wohl gar nichts mit dem zu tun, was du dann beschreibst.
Und was du hier "durch die Auswahl der ersten Zeile (durch Dropdown) in das jeweilige Tabellenblatt verschiebt" mit verschiebt meinst, verstehe ich nicht.
Vielleicht beschreibst du noch einmal, was passieren soll, wenn du einen Wert in deinem Pulldownmenü auswählst.
Zudem ist es besser eine Beispielmappe hochzuladen als ein Bild einzustellen.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A7" Then
Worksheets(Target.Value).Activate
End If
End Sub
Der Code gehört ins Arbeitsblatt auf dem sich dein Pulldownmenü befindet, das wäre dann wohl dein Blatt "Cockpit".
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
(12.01.2018, 06:52)Werner.M schrieb: Der Code gehört ins Arbeitsblatt auf dem sich dein Pulldownmenü befindet, das wäre dann wohl dein Blatt "Cockpit".
13.01.2018, 17:26 (Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2018, 17:27 von dbiv.)
Sorry, wenn ich mich nicht richtig ausgedrückt habe.
Die Datei füge ich im Anhang an.
Ich möchte in jedem Arbeitsblatt außer Cockpit vorne in der Spalte Liste auswählen wohin (NeuInt, E-Mail, TAv, Schrott) die Zeile kopiert wird wird.
Beispiel
Wenn ich unter NeuInt in der Spalte Liste per Dropdown z. Bsp. E-Mail auswähle, dann sollte die Zeile unter E-Mail in der nächsten freien Zeile hinein kopiert werden und unter NeuInt verschwinden.
Die Daten sollten zu jedem Arbeitsblatt verschoben werden können
13.01.2018, 20:04 (Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2018, 20:04 von Kuwer.)
Hallo Dieter,
folgender Code kommt in das schon vorhandene VBA-Modul DieseArbeitsmappe:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lngErsteZeile As Long
Dim lngSpalten As Long
If Sh.Name <> "Cockpit" Then
If Target.Column = 1 And Target.Cells.Count = 1 Then
If Len(Target.Value) Then
lngErsteZeile = 5
lngSpalten = 18
With Worksheets(CStr(Target.Value))
.Cells(Application.Max(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, lngErsteZeile), 1).Resize(1, lngSpalten).Value = _
Target.Resize(1, lngSpalten).Value
Target.EntireRow.Delete
End With
End If
End If
End If
End Sub