有时候,工作表列中有许多空单元格,而不是在每行都重复相同的内容,这样可以使报表更容易阅读,然而也会导致一些问题,例如不方便排序或筛选数据。
如下图1所示,在列A中有一些空单元格,如果对列A进行筛选,则只会出现有内容的单元格数据,因此空白单元格需要使用其上方单元格的内容填充。
图1
首先,选择包含空单元格的列,单击功能区“开始”选项卡“编辑”组中的“查找和选择——定位条件”,在弹出的“定位条件”对话框中勾选“空值”前的单选按钮。
然后,输入=号,按向上箭头键选择上方单元格,再按Ctrl 回车键,在所有被选择的单元格中输入公式。
最后,选择列A,复制数据,然后在所选列中单击右键,选择“粘贴值”命令。
完整的操作过程如下图2所示。
图2
如果你经常遇到填充空单元格的操作,那么可以使用宏来代替手工操作。
宏代码如下:
代码语言:javascript复制Sub FillinBlankCells()
Dim wks As Worksheet
Dim rng As Range
Dim lngLastRow As Long
Dim lngCol As Long
Set wks = ActiveSheet
With wks
lngCol = ActiveCell.Column
lngLastRow =.Cells.SpecialCells(xlCellTypeLastCell).Row
Set rng = Nothing
Set rng = .Range(.Cells(2, lngCol),.Cells(lngLastRow, lngCol)).Cells.SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "没有找到空单元格"
Exit Sub
Else
rng.FormulaR1C1 ="=R[-1]C"
End If
With .Cells(1, lngCol).EntireColumn
.Value = .Value
End With
End With
End Sub
在运行这个宏之前,使当前单元格位于要填充空白单元格的列中。