For-Schleife mit ElseIf-Anweisungen
05.02.2018 13:02:42
Kazuya
ich beschäftige mich seit ca. drei Tagen mit VBA und habe mich auch dementsprechend bisschen eingearbeitet. Jedoch hänge ich derzeit an einem kleinen Denkfehler.
Und zwar habe ich eine dynamische For-Schleife erstellt, die eine Tabelle (in einem anderen Tabellenblatt) mit insgesamt drei Spalten durchläuft und die Eingabe auf Übereinstimmung prüft. Jetzt habe ich jedoch weitere fünf Bedingungen:
Sollte die Eingabe mit dem Wert in der Tabelle übereinstimmen und zusätzlich ein "J" in der zweiten Spalte enthalten dann soll er mir meinen Befehl durchführen.
Dasselbe "Spiel" führe ich für die Bedingungen "N", "K" und "P" durch.
Die Schleife macht auch das was sie soll, nur möchte ich eine letzte Anweisung die mir sagt, dass der Wert der Eingabe nicht in meiner Tabelle gefunden wird.
Ich habe bereits alles mögliche ausprobiert, komme jedoch nicht auf diesen Denkfehler.
Vielleicht könnt ihr mir da weiterhelfen?
Hier mein Code:
Sub Abfrage()
Dim x As Long
Dim zeilen As Long
Dim gruppe As String
'letzte Zeile (in Spalte A) von Abteilungsabfrage ermitteln
zeilen = Worksheets("Abfrage").Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To zeilen
With Worksheets("Abfrage")
If UCase(Worksheets("Tabelle1").Cells(5, 4).Value) = UCase(Worksheets("Abfrage"). _
Cells(x, 1).Value) And .Cells(x, 2).Value = "J" Then
-- mein Code --
Exit For
ElseIf UCase(Worksheets("Tabelle1").Cells(5, 4).Value) = UCase(Worksheets(" _
Abfrage").Cells(x, 1).Value) And .Cells(x, 2).Value = "N" Then
-- mein Code --
Exit For
ElseIf UCase(Worksheets("Tabelle1").Cells(5, 4).Value) = UCase(Worksheets(" _
Abfrage").Cells(x, 1).Value) And .Cells(x, 2).Value = "K" Then
-- mein Code --
Exit For
ElseIf UCase(Worksheets("Tabelle1").Cells(5, 4).Value) = UCase(Worksheets(" _
Abfrage").Cells(x, 1).Value) And .Cells(x, 2).Value = "P" Then
-- mein Code --
Exit For
ElseIf UCase(Worksheets("Tabelle1").Cells(5, 4).Value) .Cells(x, 1).Value _
Then
MsgBox "Abteilung nicht in der Matrix vorhanden"
Exit For
End If
End With
Next
End Sub
Ich hoffe es ist einigermaßen lesbar