22.02.2019, 15:50
(Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2019, 15:51 von Lopezoli.
Bearbeitungsgrund: Korrektur
)
Moin
Ich habe ein zweidimensionales Array mit 2 Spalten und 6 Zeilen. Die erste Spalte beinhaltet Artikelbezeichnungen, die zweite wie viele Male der jeweiligen Artikel in der Baugruppe XYZ vorkommen:
Nun möchte ich mit .Find(what:=ARRAY(1. Spalte) in einer langen Stückliste nach den Artikelbezeichnungen suchen und die Adressen dieser festhalten. Das Ziel ist es, dass ich später nicht die ganze Stückliste manuell nach den Artikeln suchen und die entsprechende Anzahl aufsummieren muss, sondern dass ich einfach über eine Userform die Baugruppe XYZ auswählen kann und die Stückliste so automatisch angepasst wird.
Nur weiss ich nicht wie ich der Suchfunktion sagen soll, dass sie nacheinander die Suchbegriffe der 1. Spalte suchen und die jeweilige Adressen abspeichern soll.
Ich hab mal mit so ner For-Schleifen angefangen und wenn ich einen einzelnen Suchbegriff eingebe klappt es, nur wenn ich die Array als ganzes eingebe kommt die Meldung:
"Falsche Anzahl an Dimensionen" und markiert mir den ARRAY hinter what:=
Hier mal der Code der Suchfunktion den ich bereits habe:
Kann mir jemand helfen, wie ich die einzelnen Spalten des Array richtig angebe?
Danke im Voraus
Ich habe ein zweidimensionales Array mit 2 Spalten und 6 Zeilen. Die erste Spalte beinhaltet Artikelbezeichnungen, die zweite wie viele Male der jeweiligen Artikel in der Baugruppe XYZ vorkommen:
Code:
artikel_und_menge(0, 0) = "Noch leer"
artikel_und_menge(0, 1) = 1
artikel_und_menge(1, 0) = "Briden für Mastbefestigung an Mauer oben"
artikel_und_menge(1, 1) = 0
artikel_und_menge(2, 0) = "Auflager für Mastbefestigung an Mauer unten"
artikel_und_menge(2, 1) = 0
....
Nun möchte ich mit .Find(what:=ARRAY(1. Spalte) in einer langen Stückliste nach den Artikelbezeichnungen suchen und die Adressen dieser festhalten. Das Ziel ist es, dass ich später nicht die ganze Stückliste manuell nach den Artikeln suchen und die entsprechende Anzahl aufsummieren muss, sondern dass ich einfach über eine Userform die Baugruppe XYZ auswählen kann und die Stückliste so automatisch angepasst wird.
Nur weiss ich nicht wie ich der Suchfunktion sagen soll, dass sie nacheinander die Suchbegriffe der 1. Spalte suchen und die jeweilige Adressen abspeichern soll.
Ich hab mal mit so ner For-Schleifen angefangen und wenn ich einen einzelnen Suchbegriff eingebe klappt es, nur wenn ich die Array als ganzes eingebe kommt die Meldung:
"Falsche Anzahl an Dimensionen" und markiert mir den ARRAY hinter what:=
Hier mal der Code der Suchfunktion den ich bereits habe:
Code:
'5. Abschnitt: Speichert Ziele für Stückliste für Aufaddierung
Dim finden_artikel As Range 'Durchsucht Spalte 4 nach Artikel
Dim treffer_artikel 'Wo wurde der Begriff gefunden? Angabe der Zeile
Dim artikel() As String 'Array speichert Ziele für die Stückliste (Zeilen)
Dim p As Integer 'Laufvariable
For p = 1 To UBound(artikel_und_menge, 1) - LBound(artikel_und_menge, 1) + 1
Set finden_artikel = Columns(4).Find(what:=artikel_und_menge(p))
If Not finden_artikel Is Nothing Then
treffer_artikel = finden_artikel.Address
Do
ReDim Preserve artikel(1 To 2, p)
artikel(1, p) = finden_artikel.Value
artikel(2, p) = finden_artikel.Address
Set finden_artikel = Columns(4).FindNext(finden_artikel)
Loop While Not finden_artikel Is Nothing And treffer_artikel <> finden_artikel.Address
End If
Next
Stop
'Ende 5. Abschnitt
Kann mir jemand helfen, wie ich die einzelnen Spalten des Array richtig angebe?
Danke im Voraus