我有一组数据,其中当B列中有值时,我需要用数字序列1,2,3填充对应的A列...在VBA中可以吗?
我在VBA中填写了以下公式,但在所有情况下都将返回1 ...而我需要1,2,3等。
Range("I22").Select
ActiveCell.FormulaR1C1 = "=IF((NOT(ISBLANK(RC27))),""1"","" "")"
答案 0 :(得分:2)
答案 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”)。