好人,我有一张满是唯一身份证的桌子(如下所述),但是很少有人会遗漏这些内容。
我希望公式/代码根据任何单元格的上方和下方的值填充空白。
例如:这里有两个唯一id~(620006845180)之间有两个空行。
任何人都可以帮我填充这些空间,其价值与上面和下面相同。 :(我被卡住了。
620006845180
xxxxxxxxxxxx
xxxxxxxxxxxx
620006845180
620006845180
答案 0 :(得分:1)
Sub FillBlankCells()
Dim lastRow As Long: lastRow = Cells(Rows.Count, 1).End(xlUp).Row
Dim IDRange As Range: Set IDRange = Range("A1:A" & lastRow)
Dim rng As Range
For Each rng In IDRange
If rng.Value = "" Then
If rng.End(xlUp).Value = rng.End(xlDown).Value Then _
rng.Value = rng.End(xlUp).Value
End If
Next rng
End Sub
答案 1 :(得分:1)
由于循环引用,您无法在同一列中执行此操作。但是你可以使用另一列来完成它。
我假设您在A列和第2行中有这些数字,并在B中插入一个空列,并在B2中输入以下公式。然后从单元格B2复制列B的其余行。然后隐藏您的专栏A,您将在B栏中获得所需内容。
=IF(A2<>"",A2,IFERROR(IF(MATCH(B1,A3:A100,0)>0,B1,""),""))
如果您觉得可以有超过100个空行。然后,您可能需要将公式中找到的100替换为您希望为空的最大行数。