Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten lesen (XML)

Daten lesen (XML)
15.09.2022 12:04:44
stef26
Hallo liebe Excelprofis,
ich habt mir gestern ein cooles Makro erstellen lassen, mit dem ich alle in der Spalte A aufgelisteten Excellisten öffne und Daten raus schreibe.
Danke nochmal dafür.
Ich hätte nun eine ähnliche Aufgabe, nur das es sich bei den Dateien um XML handelt.
Da bringt das Mako bei "Set objWorkbook = GetObject(PathName:=objCell.Text)" Klasse wird nicht unterstützt.

Public Sub ReadData()
Dim objCell As Range
Dim objWorkbook As Workbook
Dim objWorksheet As Worksheet
Application.EnableEvents = False
For Each objCell In Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
Application.StatusBar = "   " & CStr(objCell.Row)
DoEvents
If Application.CountA(objCell.Resize(1, 27)) = 1 Then
If Dir$(PathName:=objCell.Text)  vbNullString Then
Set objWorkbook = GetObject(PathName:=objCell.Text)
For Each objWorksheet In objWorkbook.Worksheets
With objWorksheet
Select Case .Name
Case "Tabelle1"
'erste Seite
objCell.Offset(0, 1).Value = .Range("A2").Value
objCell.Offset(0, 2).Value = .Range("B2").Value
objCell.Offset(0, 3).Value = .Range("C2").Value
objCell.Offset(0, 4).Value = .Range("D2").Value
objCell.Offset(0, 5).Value = .Range("E2").Value
objCell.Offset(0, 6).Value = .Range("F2").Value
objCell.Offset(0, 7).Value = .Range("G2").Value
objCell.Offset(0, 8).Value = .Range("H2").Value
objCell.Offset(0, 9).Value = .Range("I2").Value
objCell.Offset(0, 10).Value = .Range("J2").Value
objCell.Offset(0, 11).Value = .Range("K2").Value
objCell.Offset(0, 12).Value = .Range("L2").Value
'2te Seite
objCell.Offset(0, 13).Value = .Range("A3").Value
objCell.Offset(0, 14).Value = .Range("B3").Value
objCell.Offset(0, 15).Value = .Range("C3").Value
objCell.Offset(0, 16).Value = .Range("D3").Value
objCell.Offset(0, 17).Value = .Range("E3").Value
objCell.Offset(0, 18).Value = .Range("F3").Value
objCell.Offset(0, 19).Value = .Range("G3").Value
objCell.Offset(0, 20).Value = .Range("H3").Value
objCell.Offset(0, 21).Value = .Range("I3").Value
objCell.Offset(0, 22).Value = .Range("J3").Value
objCell.Offset(0, 23).Value = .Range("K3").Value
objCell.Offset(0, 24).Value = .Range("L3").Value
End Select
End With
Next
Call objWorkbook.Close(SaveChanges:=False)
Set objWorkbook = Nothing
End If
End If
Next
With Application
.StatusBar = False
.EnableEvents = True
End With
Call MsgBox("Fertig", vbInformation, "Information")
End Sub
Gibt es einen Workaround, wie man auch diese Dateien einlesen kann. Da ich die mir auf die Festplatte gezogen habe und Kopien sind könnte ich diese auch umbenennen, sollte es dann funktionieren. Allerdings bräuchte ich auch da die Info, wie ich das bei 2000 Daten einfach machen kann.
Falls jemand weiß wie ich auch XML einlesen kann, wäre ich sehr dankbar...
Liebe Grüße
Stefan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten lesen (XML)
15.09.2022 14:05:17
stef26
Hallo Ralf,
ja mit den 15 Tagen konnte ich noch gar nicht starten, da ich erst die Dateien alle auf meine Festplatte kopieren will und der erste kleine Part werde ich heute Nacht mal versuchen zu starten.
Bei dem neuen Thema versuch ich bereits mein nächstes Problem zu lösen, welches ähnlich gelagert ist.
Hatte gehofft, dass ich die Dateien ggf. auf XLSX umbenennen könnte und dann läuft das...
D.h. es gibt keinen Workaround um XML einlesen zu können?
Gruß
Stefan
Anzeige
AW: Daten lesen (XML)
15.09.2022 14:43:11
Eifeljoi5
Hallo
XML Dateien lassen sich doch prima mit PQ einlesen.
Um mehr zusagen sollte xml Datei und ein Wunschergebnis vorliegen, dann kann man schauen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige