在excel VBA中按一定顺序填写ID号

在excel VBA中按一定顺序填写ID号,vba,excel,Vba,Excel,我有一个列,其中包含如下结构的id号: A R1 1 R2 R3 2 R4 R5 R6 3 A R1 1 R2 1 R3 2 R4 2 R5 2 R6 3 我试图用前一个填充单元格的值填充A列中的空白单元格,问题是每次A有不同的数字时,我没有固定数量的空白单元格。在本例中,第一次我在A1后有一个空白单元格,第二次我在A3后有3个空白单元格。我想要的输出如下: A R1 1 R2 R3 2 R4 R5 R6 3

我有一个列,其中包含如下结构的id号:

     A
R1   1
R2   
R3   2
R4
R5
R6   3
  A
R1   1
R2   1
R3   2
R4   2
R5   2
R6   3
我试图用前一个填充单元格的值填充A列中的空白单元格,问题是每次A有不同的数字时,我没有固定数量的空白单元格。在本例中,第一次我在A1后有一个空白单元格,第二次我在A3后有3个空白单元格。我想要的输出如下:

     A
R1   1
R2   
R3   2
R4
R5
R6   3
  A
R1   1
R2   1
R3   2
R4   2
R5   2
R6   3
看来,以我对VBA的相当基本的知识,我无论如何都想不出实现该输出的方法。你能帮我一下吗?

试试这段代码

Sub Test()
Dim rng         As Range
Dim i           As Long

Set rng = Sheets("Sheet1").Range("A1:A" & Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row)

For i = 2 To rng.Rows.Count
    If rng.Cells(i, 1).Value = "" Then rng.Cells(i, 1).Value = rng.Cells(i - 1, 1).Value
Next i
End Sub
另一个代码

Sub Fill_Blanks()
With Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
    .SpecialCells(xlBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
End With
End Sub

非常酷的技巧,但Vba是必要的,因为它是一个更大的项目的一部分