Excel VBA插入公式触发Runtime 1004错误,求排查解决方法
嘿,这个问题我太熟啦!你的Runtime Error 1004完全是因为公式的语法写错了,咱们一步步来解决:
核心问题:公式括号匹配错误
你的代码里,给O列赋值的公式存在语法错误——多写了一个右括号,导致Excel无法识别这个公式,直接抛出了1004错误。
原代码的错误公式部分:
Worksheets("Data").Range("O" & i).Formula = "=TEXT(H" & i & "),""yyyy-mm-dd"")"
这里H" & i & ")里的右括号是多余的,TEXT函数的正确语法是TEXT(目标单元格, 格式字符串),所以修正后的公式应该是:
Worksheets("Data").Range("O" & i).Formula = "=TEXT(H" & i & ",""yyyy-mm-dd"")"
额外优化建议:批量赋值公式,提升效率
其实不用逐个循环单元格写公式,Excel支持给整段区域批量设置公式,它会自动处理相对引用的调整,效率比循环高很多:
RowCount = Range("A2").CurrentRegion.Rows.Count Worksheets("Data").Range("O2:O" & RowCount).Formula = "=TEXT(H2,""yyyy-mm-dd"")"
这样一行代码就完成了所有行的公式设置,不用再写For循环啦!
内容的提问来源于stack exchange,提问作者Chis.Wisselo
相关产品推荐
相关产品推荐

