Schleife in VBA für Massenauszug
21.03.2018 09:14:21
roger
Ich habe folgendes Problem:
In einem Excel wird via Makro einen Massenauszug von verschiedenen Artikeln mit Preisen, Rabatten und Stückzahlen zusammengezogen. Dies funktioniert auch soweit. In einem DropDown Menu kann man zum Beispiel den Artikel 1 auswählen und das Gebäude 1 --> Daraus wird eine Nummer geniert Zum Bsp. S.1.1 und wird in die Zelle (6,5) geschrieben
In jedem Gebäude gibt es acht Artikeltypen. Für das Gebäude 1 folgende: S.1.1(Artikeltyp 1), K.1.1(Artikeltyp 2), V.1.1(Artikeltyp 3), B.1.1(Artikeltyp 4), FU.1.1(Artikeltyp 5), T.1.1(Artikeltyp 6), ST.1.1(Artikeltyp 7), D.1.1(Artikeltyp 8).
Wählt man nun das Gebäude 2 aus, soll folgende Ausgabe zu jedem Artikel kommen und in die Zelle (6,5) schreiben:
S.1.2(Artikeltyp 1), K.1.2(Artikeltyp 2), V.1.2(Artikeltyp 3), B.1.2(Artikeltyp 4), FU.1.2(Artikeltyp 5), T.1.2(Artikeltyp 6), ST.1.2(Artikeltyp 7), D.1.2(Artikeltyp 8).
Mein Code den ich bis jetzt habe funktioniert soweit, jedoch habe ich total 14 verschiedene Gebäude und mit meinem Code würde dies sehr viele Zeilen in Anspruch nehmen. Ich habe mir überlegt wie ich das mit zwei Schleife lösen kann. Eine für den Artikel und eine für die Gebäude. Jedoch weis ich da nicht weiter. Hier meinen Code. Wäre Dankbar um eine Hilfe:
Private Sub Verweis()
If Cells(6, 3).Value = "Aritkeltyp 1" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "S.1.1"
ElseIf Cells(6, 3).Value = "Aritkeltyp 2" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "K.1.1"
ElseIf Cells(6, 3).Value = "Aritkeltyp 3" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "V.1.1"
ElseIf Cells(6, 3).Value = "Aritkeltyp 4" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "B.1.1"
ElseIf Cells(6, 3).Value = "Aritkeltyp 5" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "FU.1.1"
ElseIf Cells(6, 3).Value = "Aritkeltyp 6" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "T.1.1"
ElseIf Cells(6, 3).Value = "Aritkeltyp 7" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "ST.1.1"
ElseIf Cells(6, 3).Value = "Aritkeltyp 8" And Cells(7, 3).Value = "Gebäude 1" Then
Cells(6, 5).Value = "D.1.1"
End If
End Sub