在Excel中使用VBA导入XML时插入源Url

在Excel中使用VBA导入XML时插入源Url,xml,excel,vba,Xml,Excel,Vba,我使用VBA脚本扫描XML文件列表,然后将它们导入到各个工作表中: 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.X

我使用VBA脚本扫描XML文件列表,然后将它们导入到各个工作表中:

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的第一天,所以要做到这一点已经很困难了,任何帮助都将不胜感激

我想你所需要做的就是倒转第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

谢谢,这是正确的方向!将引用的URL替换为第一个URL。因此,我将其更改为$A$1.Value=mystr范围,并将其移动到:Worksheets.AddAfter:=WorksheetsWorksheets.Count.Name=x范围$A$1.Value=mystr现在它将链接放置在每个新工作表的A1中……我的下一步不仅仅是在工作表上添加一次链接,而是在该工作表每个条目的每一行中添加链接