以下是我的vba代码,
For x = 0 To EleXML.ChildNodes.Length - 1
Range("A10" & x) = EleXML.ChildNodes.Item(x).getAttribute("aa")
Range("A10" & x) = EleXML.ChildNodes.Item(x).getAttribute("bb")
Range("A10" & x) = EleXML.ChildNodes.Item(x).getAttribute("cc")
Next x
我的手机将从“A10”开始,如何在我的代码中使用“x”自动增加它?所以,它应该是下一循环中的“A11”。
提前致谢。
答案 0 :(得分:1)
For x = 0 To EleXML.ChildNodes.Length - 1
Range("A10").offset(x,0) = EleXML.ChildNodes.Item(x).getAttribute("aa")
Range("A10").offset(x,0) = EleXML.ChildNodes.Item(x).getAttribute("bb")
Range("A10").offset(x,0) = EleXML.ChildNodes.Item(x).getAttribute("cc")
Next x
我几乎总是在这些情况下使用Offset
(documentation),因为它比尝试手动创建字符串范围要清晰得多。
当您进行迭代并具有类似
之类的东西时,它会使事情变得更加清晰myRange.offset(rowOffset, colOffset)
比几乎所有替代品(例如其他答案或评论中发布的那些)。
您还可以考虑使用Cells(row, col)
语法。
答案 1 :(得分:1)
很简单:
For x = 0 To EleXML.ChildNodes.Length - 1
Range("A" & (10 + x)) = EleXML.ChildNodes.Item(x).getAttribute("aa")
Range("B" & (10 + x)) = EleXML.ChildNodes.Item(x).getAttribute("bb")
Range("C" & (10 + x)) = EleXML.ChildNodes.Item(x).getAttribute("cc")
Next x