PDA

Vollständige Version anzeigen : Daten aus Zeile in Spalte


PauleDerDritte
29.09.2016, 10:27
Hallo,
habe mal eine Frage die etwas komplexer ist wie in die Überschrift vermuten lässt.

Ich habe eine Tabelle mit folgenden Spalten
Artikelnummer|Zubehör1|Zubehör2|..|Zubehör10

Datenbeispiel
12345|Test1|Test2|Test3|Test4...
54321|Test7|Test8|

Mal sind die Spalten Zubehör1-Zubehör10 voll befüllt. Mal auch nur eine Spalte.

Jetzt brauche ich für ein CSV-Export die Tabelle in folgendem Format

Artikelnummer|Zubehör|
12345|Test1
12345|Test2
12345|Test3
12345|Test4
54321|Test7
54321|Test8

Wie kann ich das am besten ver VBA bewerkstelligen? Hat jemand so was schonmal gemacht?

Würde mich riesig über eine Hilfe freuen.

Danke schonmal!
Paul

rastrans
29.09.2016, 10:59
Hallo,

die Export-Datei liegt im gleichen Verzeichnis, wie die Excelmappe.

Viele Grüße
rastransSub ExportCSV()
Const c_Dateiname = "ExportDateiname"
Dim lngZeile As Long, lngSpalte As Long
Dim FileNumber As Integer
Dim strDateiname As String

strDateiname = c_Dateiname & ".csv"
FileNumber = 1
Do Until Len(Dir(ThisWorkbook.Path & "\" & strDateiname)) = 0
FileNumber = FileNumber + 1
strDateiname = c_Dateiname & "(" & FileNumber & ").csv"
Loop

FileNumber = FreeFile

Open ThisWorkbook.Path & "\" & strDateiname For Output As #FileNumber

Print #FileNumber, Cells(1, 1).Value & "|" & Cells(1, 2).Value

lngZeile = 2
Do Until IsEmpty(Cells(lngZeile, 1))
lngSpalte = 2
Do Until IsEmpty(Cells(1, lngSpalte))
If Not IsEmpty(Cells(lngZeile, lngSpalte)) Then
Print #FileNumber, Cells(lngZeile, 1).Value & "|" & Cells(lngZeile, lngSpalte).Value
End If
lngSpalte = lngSpalte + 1
Loop
lngZeile = lngZeile + 1
Loop

Close #FileNumber
End Sub

PauleDerDritte
30.09.2016, 09:20
Hallo,
danke für die schnelle Antwort.
Hat bestens funktioniert.
Gruss
Paul