2014-04-01 21 views
0
使用VBA XML時

我已經得到了VBA腳本工作要掃描的XML文件的列表,然後將它們導入到各個工作表:插入源地址導入Excel中

Sub adds() 
For x = 1 To 5 
Worksheets("zips").Select 
Worksheets("zips").Activate 
mystr = "http://example.com/data.xml" 
mystr = Cells(x, 1) 

Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = x 
ActiveWorkbook.XmlImport URL:=mystr, _ 
     ImportMap:= _ 
    Nothing, Overwrite:=True, Destination:=Range("$B$1") 

Next x 
End Sub 

腳本運行正常和五個工作表導入了正確的表格,但我也想要確保源URL(mystr)被添加到每行之前的$ A $ 1,$ A $ 2,$ A $ 3 ...單元格中。最後,我將結合所有的工作表,目標是按照他們的來源對聯合條目進行排序。

這是我第一天使用VBA,所以得到這個很難,任何幫助將不勝感激!

回答

0

我認爲,所有你需要做的是反向線6:

Sub adds() 

For x = 1 To 5 
Worksheets("zips").Select 
Worksheets("zips").Activate 
mystr = "http://example.com/data.xml" 
Cells(x, 1).Value = mystr 

Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = x 
ActiveWorkbook.XmlImport URL:=mystr, _ 
     ImportMap:= _ 
    Nothing, Overwrite:=True, Destination:=Range("$B$1") 

Next x 

End Sub 

在答覆意見 - 嘗試添加下面幾行:

i = 2 
Do While Worksheets(CStr(x)).Cells(i, 2).Value <> "" 
    Worksheets(CStr(x)).Cells(i, 1).Value = mystr 
    i = i + 1 
Loop 
+0

謝謝,這是一個正確的方向!用第一個URL替換引用的URL。所以我將它更改爲 Range(「$ A $ 1」)。Value = mystr 我將它移動到: Worksheets.Add(After:= Worksheets(Worksheets.Count))。Name = x Range(「$ A $ 1「)Value = mystr 現在它將鏈接放置在每個新工作表的A1中......我的下一步是不僅在工作表上添加一次鏈接,而且還在工作表上的每個條目的每一行中添加鏈接 – IntrepidSpacemanSpiff