[Excel] Excel Problem mit doppelten IDs

Corimor

Grünschnabel
Hallo,

vielleicht kann mir ja jemand weiterhelfen :-) Wäre total super, bin nämlich schon bischen am verzweifeln!
Also ich habe eine Tabelle mit einer Spalte mit IDs und einer Spalte mit Postleitzahlen. Die IDs kommen öfters doppelt vor und brauche jetzt eine funktion die mir es Ermöglicht die Daten so aufzulisten das nur 1x die ID steht und dann die ganzen Postleitzahlen dazu! Siehe Beispiel:

excel.jpg

Eventuell kann mir hier auch noch wer weiterhelfen: Ich muss die datei dann auch als CSV exportieren die folgendermaßen aussehen sollte:

1; 1234, 1324, 198, 2688
2; 7984, 5456
3; 1235, 9872, 8726, 4568

Ich wäre euch sehr dankbar wenn Ihr mir weiterhelfen könntet!

Liebe Grüße
Corimor
 
Stehen die Daten so sortiert in der Tabelle, also alle Postleitzahlen für ID = 1, dann alle für ID = 2, ... oder kannst du die Tabelle entsprtechend sortieren?

Zumindest was das "Auslesen" angeht hätte ich dir dann einen Vorschlag:

Visual Basic:
Private Sub CommandButton1_Click()
'mit dieser Variablen wird einfach zur nächsten Zeile der Tabelle gesprungen
Dim zeile
zeile = 1
'ab Zeile 30 werden die neuen Daten in die Tabelle eingetragen
Dim zeile_neu
zeile_neu = 30
'mit dieser Variablen wird die Spalte für den nächsten Wert ermittelt
Dim spalte_neu
spalte_neu = 2
'in dieser Variablen wird die aktuelle ID gespeichert
Dim id
id = Tabelle1.Cells(1, 1)
'und hier gleich eingetragen
Tabelle1.Cells(zeile_neu, 1) = id
'Tabelle1 wird so lange durchlaufen bis in Spalte A ein leeres Feld vorhanden ist
Do While Tabelle1.Cells(zeile, 1) <> ""
'wenn die ID noch die gleiche wie in der vorherigen Zeile ist
    If Tabelle1.Cells(zeile, 1) = id Then
        Tabelle1.Cells(zeile_neu, spalte_neu) = Tabelle1.Cells(zeile, 2)
        spalte_neu = spalte_neu + 1
    Else
'wenn es eine neue ID ist
        zeile_neu = zeile_neu + 1
        spalte_neu = 2
        Tabelle1.Cells(zeile_neu, 1) = Tabelle1.Cells(zeile, 1)
        Tabelle1.Cells(zeile_neu, spalte_neu) = Tabelle1.Cells(zeile, 2)
        spalte_neu = spalte_neu + 1
        id = Tabelle1.Cells(zeile, 1)
    End If
    zeile = zeile + 1
Loop

End Sub
 

Neue Beiträge

Zurück