用上面的值填充任何空单元格
我想使用上面的单元格的值来填充所有空单元格
state name IL Mike Sam CA Kate Bill Leah
应该如下
state name IL Mike IL Sam CA Kate CA Bill CA Leah
我尝试了以下
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
当我设置i
时,出现错误。 我怎样才能修改我的代码
这是因为i
应该被定义为i=1
。 代码中还有一些其他的问题。 我会改变它是这样的:
Sub split() Dim columnValues As Range, i As Long Set columnValues = Selection For i = 1 To columnValues.Rows.Count If columnValues.Cells(i, 1).Value = "" Then columnValues.Cells(i, 1).Value = columnValues.Cells(i - 1, 1).Value End If Next End Sub
对于那些不需要VBA的人来说,selectColumnA,Go To Special …,Blanks和=
, Up和Ctrl + Enter应该给出相同的结果。
考虑到你问VBA,有一个比循环更快的方法(VBA相当于上面提到的pnuts,最后删除公式的附加步骤):
On Error Resume Next With Selection.SpecialCells(xlCellTypeBlanks) .FormulaR1C1 = "=R[-1]C" .Value = .Value End With