2012-11-29 4 views
7

Ich habe den folgenden Code verwendet, um Daten von XML nach Excel zu holen. Aber das Problem ist, die Ergebnisse werden in einer neuen Arbeitsmappe "Book1" geöffnet. Aber ich möchte die Ergebnisse in einem bestimmten Arbeitsblatt in demselben Excel abrufen, in dem ich dieses Makro habe.
Bitte beachten Sie, dass ich kein Schema im Code erstellen möchte, da sich das Schema für alle XMLs ändert. Der unten erwähnte Code benötigt kein spezifiziertes Schema. Es kann die Ergebnisse in einem neuen Excel-Arbeitsblatt mit den richtigen Spaltennamen ausgeben. Also, lassen Sie mich bitte wissen, wie kann ich die Ergebnisse in der sheet2 in der gleichen Arbeitsmappe erhalten?So holen Sie Daten aus XML-Datei in Excel-Tabelle mit VBA

Sub ImportXMLtoList() 
Dim strTargetFile As String 
Application.DisplayAlerts = False 
strTargetFile = "C:\example.xml" 
Workbooks.OpenXML Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList 
Application.DisplayAlerts = True 

End Sub 

Antwort

14
Sub ImportXMLtoList() 
Dim strTargetFile As String 
Dim wb as Workbook 

    Application.Screenupdating = False 
    Application.DisplayAlerts = False 
    strTargetFile = "C:\example.xml" 
    Set wb = Workbooks.OpenXML(Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList) 
    Application.DisplayAlerts = True 

    wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("Sheet2").Range("A1") 
    wb.Close False 
    Application.Screenupdating = True 


End Sub 
+0

hey Tim, vielen dank ......... das hat funktioniert :). Es war mein Fehler, ich habe den Blattnamen nicht richtig angegeben. – tester

0

i erstellt eine einfach xmlmap. Ich brauche einen Code, um XML-Daten in Excel zu importieren (Rechtsklick-XML-Import), um Daten von einem XML-Code oder einem anderen zu erhalten. Ich möchte die xmlmap, die ich erstellt habe, behalten und nur die Daten in meinen xlxs zu Daten von einem anderen xlm ersetzen.

'Select the file 
Fname = Application.GetOpenFilename(FileFilter:="xml files (*.xml), *.xml", MultiSelect:=False) 

'Check if file selected 
If Fname = False Then 
    Exit Sub 
    Else 
Workbooks.Open Filename:=Fname 
End If 
Verwandte Themen