Hallo Forum,
(bezugnehmend zu meinem Post vom 28.12.2025, CAMT.052 Format.) Themen zusammengeführt von Kuwer
Ich habe ein Makro per CoPilot erstellen lassen, das die Datei einwandfrei eingelesen hat.
Allerdings müssten aus dem ellenlangen Bankentext noch die Zahlungsverbindungen, die man ja braucht extrahieren.
Ein Versuch mit Power Query war auch nicht prickelnd, somit bleibe ich bei CSV, weil für mich einfacher zu handhaben.
Wenn jemand interessiert ist an dem Makro, ich stelle es mal hier ein.
Wünsche allen Forumsteilnehmern einen "Guten Rutsch" ins neue Jahr
LG Jo
Sub ImportCAMT052()
Dim xml As Object
Dim ns As String
Dim entries As Object
Dim entry As Object
Dim row As Long
' XML laden
Set xml = CreateObject("MSXML2.DOMDocument.6.0")
xml.async = False
xml.Load Application.GetOpenFilename("XML Files (*.xml), *.xml")
If xml.ParseError.ErrorCode <> 0 Then
MsgBox "XML-Fehler: " & xml.ParseError.reason
Exit Sub
End If
' Namespace auslesen
ns = xml.DocumentElement.NamespaceURI
xml.SetProperty "SelectionNamespaces", "xmlns:ns='" & ns & "'"
' Alle Buchungen (Ntry) finden
Set entries = xml.SelectNodes("//ns:Ntry")
' Überschriften
row = 1
Cells(row, 1) = "Betrag"
Cells(row, 2) = "Soll/Haben"
Cells(row, 3) = "Buchungsdatum"
Cells(row, 4) = "Wertstellung"
Cells(row, 5) = "Verwendungszweck"
Cells(row, 6) = "Name Gegenpartei"
Cells(row, 7) = "IBAN Gegenpartei"
' Daten einlesen
For Each entry In entries
row = row + 1
Cells(row, 1) = entry.SelectSingleNode("ns:Amt").Text
Cells(row, 2) = entry.SelectSingleNode("ns:CdtDbtInd").Text
Cells(row, 3) = entry.SelectSingleNode("ns:BookgDt/ns:Dt").Text
Cells(row, 4) = entry.SelectSingleNode("ns:ValDt/ns:Dt").Text
On Error Resume Next
Cells(row, 5) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RmtInf/ns:Ustrd").Text
Cells(row, 6) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RltdPties/ns:Dbtr/ns:Nm").Text
Cells(row, 7) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RltdPties/ns:DbtrAcct/ns:Id/ns:IBAN").Text
On Error GoTo 0
Next entry
MsgBox "Import abgeschlossen!"
End Sub
(bezugnehmend zu meinem Post vom 28.12.2025, CAMT.052 Format.) Themen zusammengeführt von Kuwer
Ich habe ein Makro per CoPilot erstellen lassen, das die Datei einwandfrei eingelesen hat.
Allerdings müssten aus dem ellenlangen Bankentext noch die Zahlungsverbindungen, die man ja braucht extrahieren.
Ein Versuch mit Power Query war auch nicht prickelnd, somit bleibe ich bei CSV, weil für mich einfacher zu handhaben.
Wenn jemand interessiert ist an dem Makro, ich stelle es mal hier ein.
Wünsche allen Forumsteilnehmern einen "Guten Rutsch" ins neue Jahr
LG Jo
Sub ImportCAMT052()
Dim xml As Object
Dim ns As String
Dim entries As Object
Dim entry As Object
Dim row As Long
' XML laden
Set xml = CreateObject("MSXML2.DOMDocument.6.0")
xml.async = False
xml.Load Application.GetOpenFilename("XML Files (*.xml), *.xml")
If xml.ParseError.ErrorCode <> 0 Then
MsgBox "XML-Fehler: " & xml.ParseError.reason
Exit Sub
End If
' Namespace auslesen
ns = xml.DocumentElement.NamespaceURI
xml.SetProperty "SelectionNamespaces", "xmlns:ns='" & ns & "'"
' Alle Buchungen (Ntry) finden
Set entries = xml.SelectNodes("//ns:Ntry")
' Überschriften
row = 1
Cells(row, 1) = "Betrag"
Cells(row, 2) = "Soll/Haben"
Cells(row, 3) = "Buchungsdatum"
Cells(row, 4) = "Wertstellung"
Cells(row, 5) = "Verwendungszweck"
Cells(row, 6) = "Name Gegenpartei"
Cells(row, 7) = "IBAN Gegenpartei"
' Daten einlesen
For Each entry In entries
row = row + 1
Cells(row, 1) = entry.SelectSingleNode("ns:Amt").Text
Cells(row, 2) = entry.SelectSingleNode("ns:CdtDbtInd").Text
Cells(row, 3) = entry.SelectSingleNode("ns:BookgDt/ns:Dt").Text
Cells(row, 4) = entry.SelectSingleNode("ns:ValDt/ns:Dt").Text
On Error Resume Next
Cells(row, 5) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RmtInf/ns:Ustrd").Text
Cells(row, 6) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RltdPties/ns:Dbtr/ns:Nm").Text
Cells(row, 7) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RltdPties/ns:DbtrAcct/ns:Id/ns:IBAN").Text
On Error GoTo 0
Next entry
MsgBox "Import abgeschlossen!"
End Sub

CAMT.052 Format