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

Posted

技术标签:

【中文标题】使用第一个空白上方单元格中的值填充非连续空白单元格【英文标题】:Fill non-contiguous blank cells with the value from the cell above the first blank 【发布时间】:2010-09-21 16:22:26 【问题描述】:

我有一列如下:

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

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

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

【问题讨论】:

【参考方案1】: 选择A1:A8。 按F5 显示转到 对话框。 单击特殊.....选择空白并单击确定。

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

然后,不选择任何其他内容,键入=A3 并按control+enter。 这将在引用其上方单元格的所有空白单元格中输入一个数组公式。 重新选择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

【讨论】:

Very Slick - 我们如何使用宏来做到这一点?使用 SendKeys "^ENTER" ? 注意不要选择一整列,比如 A:A,否则它将永远循环。否则实时节省!

以上是关于使用第一个空白上方单元格中的值填充非连续空白单元格的主要内容,如果未能解决你的问题,请参考以下文章

根据上面的非空白单元格填充空白单元格

根据单元格中的非空白值跨行连接标题行值

Excel如何用文本填充所有选定的空白单元格

用上面单元格中的值查找并替换空白值[重复]

在列中查找值,填充'直到非空白单元格

使用另一列中的值填充空白 Excel 单元格?