2013-05-29 29 views
2

下面是我的VBA代碼,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

如何:'範圍( 「A1」 &STR(X))= ...'? – Leri

+0

我知道了...... Range(「A10」&x)= EleXML.ChildNodes.Item(x).getAttribute(「aa」) 範圍(「A」activerow&x)= EleXML.ChildNodes.Item(x) .getAttribute(「bb」) Range(「B」activerow&x)= EleXML.ChildNodes.Item(x).getAttribute(「cc」) – user2144293

回答

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 

我幾乎總是使用在這些情況下Offsetdocumentation),因爲它是非常,非常,非常比試圖手動創建一個字符串範圍更加清晰。

它使事情時,你迭代,並有類似

myRange.offset(rowOffset, colOffset) 

比幾乎所有的替代品(如對方的回答還是那些張貼在評論)更清晰。

您還可以使用Cells(row, col)語法進行研究。

+0

enderland:謝謝你的回答。我如何將所有值對齊? – user2144293

+0

範圍(「A10」)。offset(x,0).Horizo​​ntalAlignment = xlCenter'在for循環中 – ZorleQ

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 
+0

我建議不要將此作爲長期計劃。這種方法變得很難閱讀,並在以後立即理解(特別是當事情變得更加複雜時),即使它有效。 – enderland

+0

對於較大的項目你可能是對的。我通常使用控制變量來指示起始行等。但是,您可以看到,要求的人在編程方面絕對沒有經驗,所以答案越簡單越好。 – ZorleQ

+0

這個答案並不簡單;) – enderland