Excel中的VBA函数公式如何使用变量

Sub test()
Dim x As Integer
For x = 0 To 31
'Sheets("总表").Cells(6 + x, 6).Value = Application.Sum(Range("j6:v6")) ‘这个是把j6:v6的和填到第6列,但没有随着行数变化而变化,起不到相对引用的效果
Sheets("总表").Cells(6 + x, 6).Value = Evaluate("=sum(cells(6+x,10):cells(6+x,10+理科数))")
Next
end Sub

我是想要=sum(j6:v6)这个公式的求和范围能随着行数x变化而变化 请问要如何写,我下面的写法得不出结果。其中“理科数”是一个已赋值的公共变量。请教这样的情况要怎么写?谢谢!
Sheets("总表").Cells(6 + x, 6).Value = Evaluate("=sum(cells(6+x,10):cells(6+x,10+理科数))")
Sheets("总表").Cells(6 + x, 6).Value = Evaluate("=sum(Range("cells(6+x,10):cells(6+x,10+理科数)"))")

Sheets("总表").Cells(6 + x, 6).Value = Application.Sum(Range("j" & x & ":v" x))

具体可以根据你需要的修改

追问

你好,我的J和V列不是固定的,不一定就是J到V列,有时可能是J到W列,这个根据已赋值的公共变量:“理科数”来确定,所以 这样写得不到我要的结果啊(Range("j" & x & ":v" x)),不过还是感谢你的回答!

追答

哦明白了是要改下面的公式吧

Sub test()
Dim x As Integer
Dim y As Integer
dim k '和的暂存
n = 理科数
For x = 0 To 31
    k = 0
    For y = 10 To 10 + n
    k = k + ActiveSheet.Cells(6 + x, y)
    Next y
    ActiveSheet.Cells(6 + x, 6) = k
Next x
End Sub

试试看

不好意思刚才打错字了

温馨提示:答案为网友推荐,仅供参考