Заполните серию с нерегулярными промежутками между - PullRequest
1 голос
/ 13 марта 2020

У меня есть набор данных, в котором, когда в столбце B есть значение, мне нужно заполнить соответствующий столбец A сериями чисел 1,2,3 ... Возможно ли это в VBA?

Я заполнил приведенную ниже формулу в VBA, но она вернет 1 во всех случаях ... пока мне нужно 1,2,3 et c.

Range("I22").Select
ActiveCell.FormulaR1C1 = "=IF((NOT(ISBLANK(RC27))),""1"","" "")"

Ответы [ 4 ]

2 голосов
/ 13 марта 2020

Это также должно помочь:

=IF(LEN($AA22),COUNTIF($AA$22:AA22,"<>"&""),"")

enter image description here

1 голос
/ 13 марта 2020

Попробуйте этот код, пожалуйста:

Range("I22").Formula = "=IF((NOT(ISBLANK($AA22))),IF(I21="""",1,I21+1),"""")"

Это увеличит значение I21, если оно есть. Если ничего, он будет писать 1 (не «1»), как начало итерации ...

1 голос
/ 13 марта 2020

Попробуйте использовать count формулу? Вы хотите, чтобы переменная сохраняла местоположение ....

Скопируйте и вставьте это:

Dim rng as range
rng = Range("I22")
rng.FormulaR1C1= "=IF(ISBLANK(RC27), """", COUNT(" & Range("A1").Address(True, True, xlR1C1) & ":RC27))"

Затем замените A1 верхней ячейкой столбца, который вы хотите посчитать и I22 с ячейкой, в которую входит формула.

1 голос
/ 13 марта 2020

Вы можете вставить следующую формулу в столбец А. Это будет работать.

=IF(B2="","",MAX($A$1:A1)+1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...