代码之家  ›  专栏  ›  技术社区  ›  Rod

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

  •  8
  • Rod  · 技术社区  · 14 年前

    我有一列,如下所示:

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

    空白是指上面的记录。因此4与红色关联 6和7是蓝色的。

    有没有一种简单的方法来填充整个列的空白?

    1 回复  |  直到 6 年前
        1
  •  15
  •   Dick Kusleika    6 年前
    • 选择 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
    
    推荐文章