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

Mehrere If Target.Column Problem

Mehrere If Target.Column Problem
06.11.2023 12:23:05
Alex Weis
Hallo Alle,

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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere If Target.Column Problem
06.11.2023 12:46:09
daniel
Hi
du solltest deine Einrückungen besser machen, dann wirds übersichtlicher.

Wenn du für die gleiche Zelle mehrere Optionen hast, die unterschiedliche Optionen enthalten, verwende IELSEIF:

If Target.Column = 4 Then


If Target = "Bestellt durch Kunde" Then
If MsgBox("Verschieben nach Bestellte Projekte?", vbYesNo, "Vorsicht!") = vbYes Then
Hier der Code, wenn mit JA bestätig
else
Hier der Code, wenn mit Nein bestätigt
end if
ElseIF Target = "Storniert"
If MsgBox("Verschieben nach Stornierte Objekte?", vbYesNo, "Vorsicht!") = vbYes Then
hier der Code, wenn Storniert mit JA bestätigt
else
hier der Code wenn Storniert mit Nein bestätigt
end if
else
hier der Code, wenn weder "bestellt" noch "storniert"
end if
end if


Gruß Daniel
Anzeige
AW: Mehrere If Target.Column Problem
06.11.2023 13:05:02
Alex Weis
Hallo Daniel,

vielen Dank für deine schnelle Antwort.

Du hast im Code geschrieben: "Hier der Code, wenn mit Nein bestätigt"

Was schreibe ich da rein wenn er nix machen soll?

Vielen Dank

Gruß Alex
AW: Mehrere If Target.Column Problem
06.11.2023 13:23:04
MCO
Hallo Alex!

Du kannst dann den bereich else einfach löschen. Dann ist es halt nur IF...Then....[dein code] End if

Ansonsten kannst du auch nur einen Kommentar drin stehen lassen, also beginnend mit Hochkomma(')

Oder vielleicht nur ne Meldung, dass nix Passiert (msgbox "Keine Änderung, vbokonly+vbinformation), das wird allerdings irgendwann lästig.

Gruß, MCO
Anzeige
AW: Mehrere If Target.Column Problem
06.11.2023 13:29:35
daniel
wenn da nichts passieren soll, dann schreibt man da auch nichts rein.
in dem Fall kannst du dann auch das ELSE weglassen

Gruß Daniel
AW: Mehrere If Target.Column Problem
06.11.2023 12:50:47
onur
Keine Ahnung, was du falsch machst. Dafür müsstest du auch die Datei posten. So ein Code ohne die zugehörige Datei ist nicht aussagekräftig.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige