我有一个程序,我需要找到第7到30列(G到AD)的总和。我想要做的是循环并插入公式(= SUM(列(i)2:列(i)1000))但显然列(i)不是字母而是数字。这不符合SUM所要求的格式,所以我想知道我能做什么。
我有一个程序,其中将删除旧工作表并添加新工作表以保存产品的配置数据。这意味着公式不能在自己的表格或任何其他表格中。价格将保留在G到P栏和U到AD栏中,我需要找到它的总和,并将其放在第1行的相应数据之上。当我尝试:
For i = 7 To 30
wsNewSheet.Cells(1, i).Value = "=SUM(" & Columns(i).Select & "2:" & Columns(i).Select & "1000)"
Next i
由于某种原因,列(i)返回“真”。我还尝试在创建新工作表(wsNewSheet)时将总计放在不同的工作表中。
For i = 2 To 30
For f = 7 To 30
wsTotals.Cells(1, i).Value = "=SUM(" & wsNewSheet & "!" & Columns(f).Select & "2:" & Columns(f).Select & "1000)"
Next f
Next i
然而,这也不起作用。该语句返回“运行时错误'438”。 Object不支持此属性或方法。“我试图对此错误进行研究,但无法解决我的问题。谢谢你的帮助。
答案 0 :(得分:4)
你不需要循环,改为使用单行:
Range("G1:AD1").Formula = "=SUM(G2:G1000)"
Excel自动调整公式:
G1
您有=SUM(G2:G1000)
H1
您有=SUM(H2:H1000)
AD1
您有=SUM(AD2:AD1000)