Excel技巧:使用上方单元格的值填充空单元格

2022-04-13 14:21:37 浏览数 (1)

有时候,工作表列中有许多空单元格,而不是在每行都重复相同的内容,这样可以使报表更容易阅读,然而也会导致一些问题,例如不方便排序或筛选数据。

如下图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

在运行这个宏之前,使当前单元格位于要填充空白单元格的列中。

0 人点赞