使用上面的值填充任何空单元格

Ale*_*ich 4 excel vba excel-vba excel-formula

我想使用上面单元格的值填充所有空单元格

state  name
IL     Mike 
       Sam
CA     Kate
       Bill
       Leah
Run Code Online (Sandbox Code Playgroud)

应如下

   state  name
    IL     Mike 
    IL     Sam
    CA     Kate
    CA     Bill
    CA     Leah
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容

Sub split()
Dim columnValues  As Range, i As Long 

Set columnValues = Selection.Area

Set i = 1
For i = 1 To columnValues.Rows.Count   
    If (columnValues(i) = "") Then
    columnValues(i) = columnValues(i - 1)
    End If
Next

End Sub
Run Code Online (Sandbox Code Playgroud)

我设置时出错i.我该如何修改我的代码

pnu*_*uts 15

对于那些不需要VBA的人,请选择ColumnA,Go To Special ...,Blanks和:

Equals(=),Up(),Ctrl+Enter

应该给出相同的结果.


bre*_*tdj 6

鉴于你要求VBA,有一种比循环更快的方法(VBA相当于上面提出的pnuts,以及最后删除公式的额外步骤):

On Error Resume Next
With Selection.SpecialCells(xlCellTypeBlanks)
.FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
Run Code Online (Sandbox Code Playgroud)