Ich habe das folgende Arbeitsblatt:
https://www.herber.de/bbs/user/123495.xlsm
Leider habe ich von Makros noch nicht wirklich viel Ahnung :(
Mit diesem Makro kann ich eine PN eingeben, und das Makro sucht im Sheet "AQPL" nach dem C-Code _ und listet mir auf dem Sheet "Mail" die PN mit den jeweiligen dazugehörigen C-codes auf.
Sub test44()
Quelle = "AQPL" 'Name der Tabelle mit den Quelldaten
QSpalte = "A" 'Spalte, in welcher gesucht wird
Spaltenanzahl = 2 'Anzahl daneben liegender Spalten, aus denen die Inhalte in die Zieldatei ü _
bertragen werden sollen
Ziel = "Mail" 'Tabellenname für gefilterte Daten
AbZZeile = 2 'Eintragen der gefilterten Daten ab dieser Zeile
ZSpalte = "A" 'Eintragen der gefilterten Daten ab dieser Spalte
Do Until Suche "" 'keine leere Eingabe akzeptieren
Suche = InputBox("Bitte den Suchbegriff eingeben (oder mit Eingabe von 'Ende' abbrechen):", _
_
_
"Suchbegriff")
Loop
If LCase(Suche) = "ende" Then Exit Sub 'Abbruch
Set Q = Worksheets("AQPL")
Set z = Worksheets("Mail")
ZZeile = AbZZeile 'Startzeile in Zieldatei setzen
With Q.Columns(QSpalte)
Set Gefunden = .Find(Suche, LookIn:=xlValues) 'gesamte Spalte der Quelldatei durchsuchen
If Not Gefunden Is Nothing Then 'nur wenn der Suchbegriff auch gefunden wurde, die _
folgenden Schritte durchführen
Erste = Gefunden.Address 'erste Fundstelle merken
Do 'für alle Fundstellen
z.Cells(ZZeile, ZSpalte).Resize(1, Spaltenanzahl) = Gefunden.Offset(0, 1).Resize(1, _
_
_
Spaltenanzahl).Value 'Werte der Nachbarzellen übertragen
ZZeile = ZZeile + 1 'Zeilennummer der Zieltabelle erhöhen
Set Gefunden = .FindNext(Gefunden) 'nächste Fundstelle suchen
Loop Until Gefunden.Address = Erste 'bis wieder erste Fundstelle gefunden wird (= alle _
_
_
erledigt)
End If
End With
MsgBox "Fertig."
End Sub
Ich versuche nun krampfhaft, dass die Eingabe nicht per InputBox erfolgt, sondern dass sich das Makro aus dem Sheet "Input" (nacheinander) die PNs aus Spalte A zieht, dazu die Quantity und , wie im Makro den C-Code auf Sheet "Mail" packt, und dies solange wiederholt, bis es alle PNs aus dem Sheet "Input" durch hat.Das Ergebnis müsste für meine Beispieldatei ungefähr so aussehen:
PN 1 10 CC1
PN 1 10 CC3
PN 1 5 CC1
PN 1 5 CC3
Pn 2 20 CC1
Pn 2 20 CC2
Pn 2 20 CC4
PN 3 10 CC2
PN 3 10 CC3
PN 3 10 CC5
PN 3 35 CC2
PN 3 35 CC3
PN 3 35 CC5
PN 4 1 CC2
PN 5 5 CC1
PN 5 5 CC2
PN 5 5 CC3
PN 5 5 CC4
PN 5 5 CC5