Excel VBA问题:如何让公式中G列单元格随当前行号动态变化?
Excel VBA代码修改方案
原代码存在两处问题:一是循环关键字拼写错误,二是公式固定引用G3,无法匹配当前行的G列单元格。以下是修正后的代码:
Sub n() For n = 3 To 916 If Not IsEmpty(Worksheets("Sheet1").Cells(n, "A")) Then Worksheets("Sheet1").Cells(n, "A").Formula = "=diff(shamsi(),G" & n & ")/30" End If Next MsgBox "Done" End Sub
修改说明:
- 修正循环关键字:把错误的
IFor改为标准的For,确保循环逻辑正常执行。 - 动态匹配行号:将公式中固定的
G3替换为G" & n & ",借助循环变量n(当前处理的行号)拼接出对应行的G列单元格地址,实现每行公式引用本行G列的需求。
内容的提问来源于stack exchange,提问作者Morteza Khavari
相关产品推荐
相关产品推荐

