这是一个跟进问题:
Autofill the same number from column A in column B
我想创建如下输出:
Column A | Column B
1. 1 1
2. 2
3. 2 1
4. 2
5. 3
我尝试了brettdj的答案,对FormulaR1C1进行了一些修改,现在的公式是。
=IF(RC[-1]<>"""",RC[-1],R[-1]C+1)
但是它从A列而不是1开始计算。
如何让它从1开始计数?
答案 0 :(得分:2)
答案 1 :(得分:1)
答案 2 :(得分:1)
尝试用以下代码替换公式"=IF(RC[-1]<>"""",RC[-1],R[-1]C+1)"
:
"=IF(RC[-1]<>"""",1,R[-1]C+1)"
答案 3 :(得分:0)
修改:我的第一个答案是按照linked question
中的要求获取序列所以我编辑了为你的实际问题添加代码...
实际问题的代码
我喜欢以下
Sub FastUpdate(rng As Range)
With rng.Offset(, 1)
.Cells(1, 1) = 1
.Offset(1).Resize(.Rows.Count - 1).FormulaR1C1 = "=IF(ISBLANK(RC1),R[-1]C+1,1)"
End With
End Sub
使用如下
Sub main()
FastUpdate Worksheets("MySheetName").Range("A1:A14") '<--| use whatever range you need. best use fully qualified reference
End Sub
关联问题的代码
我是这样的:
Sub FastUpdate(rng As Range)
With rng.Offset(, 1)
.Value = .Offset(, -1).Value
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
End Sub
使用如下:
Sub main()
FastUpdate Worksheets("MySheetName").Range("A1:A14") '<--| use whatever range you need. best use fully qualified reference
End Sub