EXCEL中用VBA如何实现公式引用,

2025-03-01 22:16:43
推荐回答(4个)
回答1:

Sub 复制公式()
Dim I As Integer
For I = 4 To 10002
Cells(I-2, 1) = "=SUM(SUMIF(上年结余!L:L,D" & I & ",上年结余!N:N),SUMIF(一月!L:L,D" & I & ",一月!N:N),SUMIF(二月!L:L,D" & I & ",二月!N:N),SUMIF(三月!L:L,D" & I & ",三月!N:N),SUMIF(四月!L:L,D" & I & ",四月!N:N),SUMIF(五月!L:L,D" & I & ",五月!N:N),SUMIF(六月!L:L,D" & I & ",六月!N:N),SUMIF(七月!L:L,D" & I & ",七月!N:N),SUMIF(八月!L:L,D" & I & ",八月!N:N),SUMIF(九月!L:L,D" & I & ",九月!N:N),SUMIF(十月!L:L,D" & I & ",十月!N:N),SUMIF(十一月!L:L,D" & I & ",十一月!N:N),SUMIF(十二月!L:L,D" & I & ",十二月!N:N),)"
Next I
End Sub
以上代码能在A2到A10000单元格输入你需要的公式。
因公式较长上述代码输入容易出错,可将在表格A1中编好的正确公式复制到Word中,用查找-替换的方法行得到Cells(I-2, 1) =后面长长的字符串,查找:D3,替换为:D" & i & ",注意字符串开始和末尾还要加半角引号"

回答2:

Sub copyf()
dim rn as range
Screenupdating=False
for each rn in sheet1.range("A2:A10000")
rn=A1.formula
next rn
Screenupdating=true
end sub
用之前请将sheet1替换为某表。

回答3:

这么多公司啊。具体不是拿表过来看吧。光看这些公司,累啊。用宏写个自定义的函数一下就解决 了。

回答4:

你的A2 想计算条件为D4的和?