使用第一个空白上方的单元格中的值填充非连续的空白单元格

时间:2010-09-21 16:22:26

标签: excel worksheet-function

我有一个如下列:

1 red
2 blue
3 red
4 
5 blue
6
7
8 white

空白是指上面的记录。所以#4会与红色相关联 而6和7将是蓝色的。

是否有一种简单的方法可以填写整列的空白?

1 个答案:

答案 0 :(得分:15)

  • 选择A1:A8
  • F5显示转到对话框。
  • 单击特殊 .....选择空白,然后单击“确定”。

这将选择一个不连续的空白单元格区域。

  • 然后,在不选择任何其他内容的情况下,键入=A3并按 +
  • 这将在所有空白单元格中输入一个数组公式,引用其上方的单元格。
  • 重新选择A1:A8编辑 - 复制
  • 然后编辑 - 选择性粘贴 - 值。而且你们都已经准备好了。

请注意,=A3是指第一个空白单元格上方的单元格。

如果你想用宏来做,你可以遍历单元格并填写空单元格。

Public Sub FillBlanks()

    Dim rColumn As Range
    Dim rCell As Range

    If TypeName(Selection) = "Range" Then
        For Each rColumn In Selection.Columns
            For Each rCell In rColumn.Cells
                If rCell.Row > rColumn.Cells(1).Row Then
                    If IsEmpty(rCell.Value) Then
                        rCell.Value = rCell.Offset(-1).Value
                    End If
                End If
            Next rCell
        Next rColumn
    End If
End Sub