Stefan Bauer: VBA Excel zu XML

Beitrag lesen

Hallo liebe Forumsgemeinde.

ich möchte gern mittels Makro ein Excelfile zu XML exportieren.

Ich habe ein Excel mit drei Spalten:

ID || Name || Level

Insgesamt habe ich drei Level, die eigentlich folgendermaßen geschachtelt werden sollen:

Level1
 Level2
  Level3

Level1
  Level2
   Level3

Und irgendwie steh ich total auf dem Schlauch.

Hierm mal mein bisheriges Experiment:

Sub TextDateiErzeugen()
Dim FS As Object, MeinFile As Object
Dim Zelle As Range, Bereich As Range

Set FS = CreateObject("Scripting.FileSystemObject")
Set MeinFile = FS.CreateTextFile(Application.GetSaveAsFilename("werteliste.xml", "XML Datei (*.xml), *.xml", , "XML Datei speichern"), True)
MeinFile.WriteLine ("<xml><werteliste_data>")

With ThisWorkbook.Worksheets("Tabelle1")
    Set Bereich = .Range("a2:c" & .Range("c65536").End(xlUp).Row)
End With

Dim regionVal
Dim companyVal
Dim spalte1
Dim spalte2
Dim spalte3
Dim Zelle1 As Range
Dim Zelle2 As Range
For Each Zelle In Bereich
    If Zelle.Offset(0, 2).Text = 1 Then
        spalte = "Region"
    End If
    If Zelle.Offset(0, 2).Text = 2 Then
        spalte = "Company"
    End If
    If Zelle.Offset(0, 2).Text = 3 Then
        spalte = "Site"
    End If

MeinFile.WriteLine ("   <" & spalte & ">")
    MeinFile.WriteLine ("       <name>" & Zelle.Offset(0, 1).Text & "</name>")
    MeinFile.WriteLine ("       <" & spalte & ">")
    MeinFile.WriteLine ("           <name>" & Zelle.Offset(0, 1).Text & "</name>")
    MeinFile.WriteLine ("           <" & spalte & ">")
    MeinFile.WriteLine ("               <name>" & Zelle.Offset(0, 1).Text & "</name>")
    MeinFile.WriteLine ("           </" & spalte & ">")
    MeinFile.WriteLine ("       </" & spalte & ">")
    MeinFile.WriteLine ("   </" & spalte & ">")

er gibt mir zwar schön was aus, aber leider nicht in der Reihenfolge, wie ich das gern hätte.

Hat jemand einen Denkanstoß für mich?

Danke

Stefan