2012-11-29 18 views
7

次のコードを使用して、XMLからExcelにデータをフェッチしました。 しかし問題は、結果が新しいブック「Book1」に開かれていることです。しかし、私はこのマクロを持っている同じExcelの特定のワークシートで結果を得たいです。
すべてのXMLのスキーマが変更されるため、コードにスキーマを作成したくないことに注意してください。下記のコードでは、スキーマを指定する必要はありません。適切な列名を持つ新しいExcelシートに結果をダンプできます。だから、同じブックのsheet2で結果を得るにはどうすればいいですか?VBAを使用してXMLファイルからExcelシートにデータをフェッチする方法

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

End Sub 

答えて

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

こんにちはTimさん、ありがとうございました。それは私の悪かった、私はシート名を適切に指定しなかった。 – tester

0

私は単にxmlmapを作成しました。 XMLデータをExcel(右クリック-xml-import)にインポートするコード、XMLなどからデータを取得するコードが必要です。私が作成したxmlmapを保存し、xlxsのデータを別のxlmのデータに置き換えたい。

'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 
関連する問題