Vba:如何用上面的值填充空单元格
通常,您可能希望使用 VBA 用其正上方单元格的值填充 Excel 工作表中的空单元格。
为此,您可以使用以下基本语法:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
此特定示例将填充所有空单元格,从单元格A2到B列,再到C列中包含值的最后一行。
以下示例展示了如何在实践中使用此语法。
示例:使用 VBA 用上面的值填充空单元格
假设我们在 Excel 中有以下数据集,显示不同篮球运动员在各种比赛中的得分:
假设我们想用 A 列和 B 列上方单元格的值填充 A 列和 B 列中的空单元格。
我们可以创建以下宏来执行此操作:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
当我们运行这个宏时,我们会收到以下输出:
请注意, “团队”和“玩家”列中的所有空单元格均已填充其上方单元格中的适当值。
注意:我们使用xlBlanks来识别范围中的空单元格,然后使用=R[-1]C用上面一行单元格的值填充空白。
最终结果是我们能够用其上方单元格的值填充所有空单元格。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: