Mehrere If Target.Column Problem
06.11.2023 12:23:05
Alex Weis
ich habe folgenden Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TRow As Integer
TRow = Target.Row
If Target.Column = 4 Then
If Target = "Bestellt durch Kunde" Then
If MsgBox("Verschieben nach Bestellte Projekte?", vbYesNo, "Vorsicht!") = vbYes Then
Sheets("Angefragte Projekte").Rows(TRow).Copy
Sheets("Bestellte Projekte").Cells(Sheets("Bestellte Projekte").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row, 1).PasteSpecial
Sheets("Angefragte Projekte").Rows(TRow).Delete Shift:=xlUp
Else
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End If
End Sub
Dieser reagiert bei einer Dropdown-Auswahl in Spalte 4. Bei Auswahl "Bestellt durch Kunde" wird die betreffende Zeile nach Abfrage in ein anderes Tabellenplatz kopiert. Das funktioniert soweit.
Nun möchte ich eine zweite Auswahl ("Storniert") ebenfalls verschieben. wenn ich aber den Bereich zwischen "If Target=" und Else kopiere und danach einfüge und die fehlenden End If eintrage reagiert er weiterhin nur auf "Bestellt durch Kunde" und nicht auf "Storniert". Siehe nachfolgender Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TRow As Integer
TRow = Target.Row
If Target.Column = 4 Then
If Target = "Bestellt durch Kunde" Then
If MsgBox("Verschieben nach Bestellte Projekte?", vbYesNo, "Vorsicht!") = vbYes Then
Sheets("Angefragte Projekte").Rows(TRow).Copy
Sheets("Bestellte Projekte").Cells(Sheets("Bestellte Projekte").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row, 1).PasteSpecial
Sheets("Angefragte Projekte").Rows(TRow).Delete Shift:=xlUp
Else
If Target = "Storniert" Then
If MsgBox("Verschieben nach Stornierte Objekte?", vbYesNo, "Vorsicht!") = vbYes Then
Sheets("Angefragte Projekte").Rows(TRow).Copy
Sheets("Stornierte Objekte").Cells(Sheets("Stornierte Objekte").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row, 1).PasteSpecial
Sheets("Angefragte Projekte").Rows(TRow).Delete Shift:=xlUp
Else
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End If
End If
End If
End Sub
Was mach ich da falsch?
Vielen Dank für eure Bemühungen.
Gruß Alex