2017-08-07 1 views
1

Ich habe eine Anforderung, eine vorhandene String() Array in mehrere String-Arrays dynamisch zu teilen. Derzeit ist mein Array wie folgt aussieht

Meine Datenabtastwert/Array wie folgt aussieht:VBA Split ein Array basierend auf Kriterien dynamisch

ID | Preis | Lieferant
01 | 05 | Lowtown
01 | 05 | Midtown
01 | 05 | Midtown
01 | 05 | Lowtown
01 | 05 | Hightown
01 | 05 | Lowtown
01 | 05 | Hightown

Ich weiß nicht, wie viele Lieferanten i haben wird, weil die Zahlen zu erhöhen halten.
Ich muß das diesen basierend aktuellen Array Namen auf dem Anbieter

Array (1) = gesamte Zeile von Lowtown Werten
Array (2) = gesamte Zeile von Midtownvalues ​​ Array (3) = gesamte Zeile
aufgespalten parsen von Hightown

Sub splitVendor(ByRef Arr() As String) 

' Split string and store into X variant 
Dim X As Variant 

For i = LBound(Arr) To UBound(Arr) 

    X = Split(Arr(i), " | ") 

Next i 



End Sub 

meine Absicht Wert um eine Schleife zu erzeugen, die innerhalb der Arr Gruppe bis ähnlichen Werten durch alle Datenschleifen, dann speichert in andere mehrere Arrays dynamisch (unbekannte Menge von Anbietern)

Jede Hilfe wäre sehr willkommen! PS: Ich habe gerade VBA für eine Woche gestartet, lassen Sie mich wissen, wenn ich mehr Informationen zur Verfügung stellen kann!

Antwort

0

Gehen Sie einfach Text zu Spalten> Getrennt> Delimiter = '|' > Fertig stellen. Wenn Sie alles in Gruppen organisieren möchten, verwenden Sie eine Pivot-Tabelle. Natürlich kannst du das alles, aber vielleicht ist es besser KISS, zumindest jetzt, und wenn du all die leichten Dinge beherrschst, gehe zu den komplexeren Sachen.

+0

Momentan muss ich ein Makro ausführen, weil dies nur ein Teil des gesamten Prozesses ist. Vielen Dank für den Hinweis! Ich neige dazu, Dinge zu komplizieren – Perdafircax

Verwandte Themen