Страницы: 1
RSS
Изменение индекса переменной в цикле FOR
 
Добрый день! Искал и в спецификации VB и VBA, так и не смог найти ответ. Есть цикл:
Код
For i = 1 To 5
      ni = ActiveCell.Row
    Selection.End(xlDown).Select
  Next
Необходимо изменять i с каждой итерацией. В общем каков синтаксис такого цикла?
 
А теперь можете объяснить, что вы хотите от цикла?
Потому что первая строчка цикл for от i = 1 потом сразу переназначаете это же i = номер строки активной ячейки и выделяете диапазон до конца заполненнных ячеек.Переменная ni не равна и не как не связана с i, массивы в VBA задаются по-другому. Переменная i не влияет на данный цикл.Пример, пожалуйста приложите.
Изменено: Eternity - 04.09.2018 17:02:06
 
Цитата
Eternity написал:
А теперь можете объяснить, что вы хотите от цикла?
С диапазонами всё ясно, суть не в них. Мне нужно определить i переменных, у каждой будет своё значение.
n1 = 2
n2 = 3
...
n(i) = m  
 
PetrEko, возьмите какой-нибудь букварь по VBA или VB6 и почитайте про массивы.
Например http://www.cyberforum.ru/visual-basic/thread69829.html
 
PetrEko, пока ускользает вообще смысл сего действа. Даже если Вы заполните правильно массив... Ну и зачем Вам массив, заполненный 5 одинаковыми числами?
 
Мне нужно занести в переменные адреса всех строк, где есть числа т.е. всех единичек в 1 столбце
 
вот мз этого всего:
Цитата
PetrEko написал:
n1 = 2n2 = 3...n(i) = m  
самое правильное это:
Цитата
n(i) = m  
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
Sub FillCell()

   Dim cell As Range
   Dim Col As Collection
   
   Set Col = New Collection
   For Each cell In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
      Col.Add cell.Row
   Next cell

End Sub
Изменено: StoTisteg - 04.09.2018 17:50:44
 
PetrEko, как тему назвали, такие ответы и получили.

Цитата
занести в переменные адреса всех строк, где есть числа т.е. всех единичек в 1 столбце
Согласитесь, это уже не по теме.
 
vikttur, и ето правильно, сам такое практикую.
ТАк как люди хотят одно, а пишут совсем другое
 
"что такое хорошо и что такое плохо"
это:
Цитата
PetrEko написал:
n(i) = m  
хорошо!

а это:
Цитата
PetrEko написал:
ni = ActiveCell.Row
плохо!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
PetrEko написал:
Необходимо изменять i с каждой итерацией. В общем каков синтаксис такого цикла?
Ну, вообще-то, у вас переменная i изменяется с каждой итерацией, и синтаксис абсолютно правильный.
Другое дело, что внутри цикла полный бред...
Страницы: 1
Наверх