使用第一个空白上方单元格中的值填充非连续空白单元格
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,否则它将永远循环。否则实时节省!以上是关于使用第一个空白上方单元格中的值填充非连续空白单元格的主要内容,如果未能解决你的问题,请参考以下文章