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

此特定示例将填充所有空单元格,从单元格A2B列,再到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 中执行其他常见任务:

VBA:如何检查单元格是否为空
VBA:如何使用“如果不为空”
VBA:如何计算具有特定文本的单元格

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注