ElseIf funktioniert nicht richtig
16.07.2022 15:27:45
Henry
ich benötige mal wieder eure Hilfe.
Ich habe folgenden Code geschrieben, der Daten aus dem Tabellenblatt "Buchungen" auf andere Tabellenblätter ("Kostenstellenbuchung", "PSP-Buchungen") überträgt.
Ohne die ElseIf Anweisung werden die Daten korrekt in das Sheet "Kostenstellenbuchung" geschrieben.
Wenn ich allerdings die ElseIf Anweisung hinzufüge, werden die PSP-Daten zwar korrekt in das Blatt "PSP-Buchungen" geschrieben, allerdings werden dann nur noch vereinzelt Zeilen in das Sheet "Kostenstellenbuchungen" geschrieben.
Könnt ihr mir hier weiterhelfen?
Code:
Sub Datenübertragung()
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim Zähler As Long
'Worksheets("Buchungen").Activate
With Worksheets("Buchungen")
Zähler = 5
lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
For lngZeile = 3 To lngZeileMax
If .Cells(lngZeile, 2).Value = "K" Then
Worksheets("Kostenstellenbuchung").Cells(Zähler, 1).Value = Cells(lngZeile, 1).Value
Worksheets("Kostenstellenbuchung").Cells(Zähler, 4).Value = Cells(lngZeile, 3).Value
Worksheets("Kostenstellenbuchung").Cells(Zähler, 5).Value = Format(Cells(lngZeile, 4).Value, "mm")
Worksheets("Kostenstellenbuchung").Cells(Zähler, 6).Value = Format(Cells(lngZeile, 4).Value, "yyyy")
Worksheets("Kostenstellenbuchung").Cells(Zähler, 7).Value = Cells(lngZeile, 5).Value
Worksheets("Kostenstellenbuchung").Cells(Zähler, 2).Value = Application.WorksheetFunction.VLookup(Worksheets("Kostenstellenbuchung").Cells(Zähler, 1), Worksheets("Kostenstellenstammdaten").Range("A:C"), 2, False)
Worksheets("Kostenstellenbuchung").Cells(Zähler, 3).Value = Application.WorksheetFunction.VLookup(Worksheets("Kostenstellenbuchung").Cells(Zähler, 1), Worksheets("Kostenstellenstammdaten").Range("A:C"), 3, False)
ElseIf .Cells(lngZeile, 2).Value = "P" Then
Worksheets("PSP-Buchungen").Cells(Zähler, 1).Value = Cells(lngZeile, 1).Value
Worksheets("PSP-Buchungen").Cells(Zähler, 4).Value = Cells(lngZeile, 3).Value
Worksheets("PSP-Buchungen").Cells(Zähler, 5).Value = Format(Cells(lngZeile, 4).Value, "mm")
Worksheets("PSP-Buchungen").Cells(Zähler, 6).Value = Format(Cells(lngZeile, 4).Value, "yyyy")
Worksheets("PSP-Buchungen").Cells(Zähler, 7).Value = Cells(lngZeile, 5).Value
Worksheets("PSP-Buchungen").Cells(Zähler, 2).Value = Application.WorksheetFunction.VLookup(Worksheets("PSP-Buchungen").Cells(Zähler, 1), Worksheets("PSP-Elemente Stammdaten").Range("A:C"), 2, False)
Worksheets("PSP-Buchungen").Cells(Zähler, 3).Value = Application.WorksheetFunction.VLookup(Worksheets("PSP-Buchungen").Cells(Zähler, 1), Worksheets("PSP-Elemente Stammdaten").Range("A:C"), 3, False)
Zähler = Zähler + 1
End If
Next lngZeile
End With
End Sub