在系列之间填充不规则间隙

时间:2020-03-13 10:31:12

标签: excel vba

我有一组数据,其中当B列中有值时,我需要用数字序列1,2,3填充对应的A列...在VBA中可以吗?

我在VBA中填写了以下公式,但在所有情况下都将返回1 ...而我需要1,2,3等。

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

4 个答案:

答案 0 :(得分:2)

这也可以达到目的:

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

enter image description here

答案 1 :(得分:1)

您可以在A列中粘贴以下公式。这将起作用。

=IF(B2="","",MAX($A$1:A1)+1)

答案 2 :(得分:1)

尝试使用count公式吗?您想要一个变量来存储位置。...

复制并粘贴:

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

然后将A1替换为要计算的列的顶部单元格,并将I22替换为公式所在的单元格。

答案 3 :(得分:1)

请尝试此代码,

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

它将增加I21值(如果有)。如果没有,它将像迭代开始一样写入1(而不是“ 1”)。