Hallo,
ich habe ein Problem mit einer großen Datenmenge in Excel, aber leider noch nie VBA gemacht.
Das Problem ist eigentlich recht simpel: Ich habe eine Auflistung und die Spalten B, F und G belegt. Derzeit ist es so, dass die Liste nach den Werten in Spalte B sortiert ist. Für die gleichen Werte in Spalte B gibt es verschiedene Werte in den Spalten F und G. Also gibt es mehrere Zeilen mit dem gleichen Wert in Spalte B.
Was ich aber am Ende haben will, ist, dass es für jeden Wert aus Spalte B nur noch eine Zeile i gibt und alle zugehörigen Einträge aus den Spalten F und G dann in den Zelle (F, i) bzw. (G, i) stehen.
Im Folgenden ein Beispiel zur Verdeutlichung:
Gegenwärtige Situation:
B F G
1 a g
2 b g
2 c g
2 c f
3 a g
3 a f
Was ich eigentlich haben will:
B F G
1 a g
2 b,c g,f
3 a g,f
Was ich mir überlegt habe ist dieser Pseudocode:
For i=1..sehrgroßeZahl
if ( Cell(B,i)=Cell(B,i-1) )
do
if ( Cell (F,i)0Cell(F,i-1) )
add Cell(G,i),Cell (G,i-1)
else add Cell(F, i),Cell(F,i-1)
delete Zeile(i)
else i=i+1
Die Einträge in allen Spalten sind übrigens Buchstaben und Zahlen gemischt. Man müsste sie irgendwie als String vergleichen und hintereinanderschreiben.
Meint ihr, das geht so irgendwie?
Viele Grüße
Johannes