2013-05-29 4 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 

Моя ячейка начинается с «А10», как я могу автоматически увеличивать его с помощью «х» в моем коде? Таким образом, в следующем цикле он должен быть «A11».

Заранее спасибо.

+0

Как насчет: 'Range ("A1" и ул (х)) = ...'? – Leri

+0

Я получил это ... Range ("A10" & x) = EleXML.ChildNodes.Item (x) .getAttribute ("aa") Range ("A" activerow & x) = EleXML.ChildNodes.Item (x) .getAttribute ("bb") Диапазон ("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 

я почти всегда использую Offset в этих ситуациях (documentation), потому что это много, много, гораздо более ясно, чем пытаться создать вручную диапазон строк.

Это делает вещи гораздо более ясно, когда вы переборе и есть что-то вроде

myRange.offset(rowOffset, colOffset) 

, чем почти во всех альтернатив (например, другой ответ, или тех, кто писал в комментариях).

Вы также можете изучить синтаксис Cells(row, col).

+0

enderland: Спасибо за ответ. Как я могу выровнять все значения в центре? – user2144293

+0

'Диапазон (« A10 »). Offset (x, 0) .HorizontalAlignment = 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

Смежные вопросы