Excel 用上面的值填充空白行
Excel Fill blank rows with values from above
希望用 'top' 值填充一行中的空白值,类似于 Editing>Fill>Top 提供的功能。不同之处在于 Fill 函数要求您逐行进行,而不是将其自身应用于更大的数据集。示例如下:
Apple 1 foo
Banana 1 foo
2 foo
bar
Cherry 2 bar
3 foo
6 bar
Grape 1 foo
结果如下:
Apple 1 foo
Banana 1 foo
Banana* 2 foo
Banana* 2* bar
Cherry 2 bar
Cherry* 3 foo
Cherry* 6 bar
Grape 1 foo //new values represented with *
请注意,第二列中的第三个条目 (2
) 也被删除,这意味着这可以应用于多个列。
其中的价值是将具有第一个 table 中表示的关系 Cherry>2, Cherry>3, Cherry>6
的 table 转换为可用作关联 table 的格式].
试试这个简短的宏:
Sub FillInTheBlanks()
Dim i As Long, N As Long, j As Long
N = Cells(Rows.Count, "C").End(xlUp).Row
For i = 2 To N
For j = 1 To 2
If Cells(i, j).Value = "" Then Cells(i, j).Value = Cells(i, j).Offset(-1, 0).Value
Next j
Next i
End Sub
我想我会在这个上添加我的变体。当您只想 select 一个范围
时可以使用
Sub BlankCellAll()
For Each c In Worksheets("Sheet1").Range("A3:R14").Cells
If c.Value = "" Then c.FormulaR1C1 = "=R[-1]C"
c.Value = c.Value
Next
End Sub
希望用 'top' 值填充一行中的空白值,类似于 Editing>Fill>Top 提供的功能。不同之处在于 Fill 函数要求您逐行进行,而不是将其自身应用于更大的数据集。示例如下:
Apple 1 foo
Banana 1 foo
2 foo
bar
Cherry 2 bar
3 foo
6 bar
Grape 1 foo
结果如下:
Apple 1 foo
Banana 1 foo
Banana* 2 foo
Banana* 2* bar
Cherry 2 bar
Cherry* 3 foo
Cherry* 6 bar
Grape 1 foo //new values represented with *
请注意,第二列中的第三个条目 (2
) 也被删除,这意味着这可以应用于多个列。
其中的价值是将具有第一个 table 中表示的关系 Cherry>2, Cherry>3, Cherry>6
的 table 转换为可用作关联 table 的格式].
试试这个简短的宏:
Sub FillInTheBlanks()
Dim i As Long, N As Long, j As Long
N = Cells(Rows.Count, "C").End(xlUp).Row
For i = 2 To N
For j = 1 To 2
If Cells(i, j).Value = "" Then Cells(i, j).Value = Cells(i, j).Offset(-1, 0).Value
Next j
Next i
End Sub
我想我会在这个上添加我的变体。当您只想 select 一个范围
时可以使用Sub BlankCellAll()
For Each c In Worksheets("Sheet1").Range("A3:R14").Cells
If c.Value = "" Then c.FormulaR1C1 = "=R[-1]C"
c.Value = c.Value
Next
End Sub