Excel Visual Basic 问题

Excel Visual Basic 问题

我最近经常使用 VBA,到目前为止,还没有遇到任何问题。出于某种原因,我无论如何也想不通,Visual Basic 不会在子程序中包含“+”或“-”符号。以下是我希望程序执行的操作:

Function f(x As Single) As Single

    f = 0.2 + 25 * x - 200 * x ^ 2 + 675 * x ^ 3 - 900 * x ^ 4 + 400 * x ^ 5

End Function

Sub Simp()

Dim x As Single, y As Single

n = Cells(3, 3)
a = Cells(4, 3)
b = Cells(5, 3)

For i = 1 To n

    a + i = Cells(2 + i, 1)


Next i

End Sub

我遇到的问题是,每当我输入“a+i=Cells(2+i,1)”时,程序都会将其更改为“ai=Cells(2+i,1)”,并显示“编译错误:应为子程序、函数或属性”。其他已完成的程序不会发生同样的情况。这是怎么回事?我该如何解决?

答案1

你提到 -

我遇到的问题是,每当我输入“a + i = Cells(2 + i,1)”时,程序都会将其更改为“ai = Cells(2 + i,1)”并显示“编译错误:预期子程序、函数或属性”。

编辑器期望a调用另一个子程序或函数,因为在a将其转换为之后,您没有对它执行任何操作a i=cells(2+i,1)。之所以发生转换,是因为您没有告诉它在计算之前执行任何操作a+i,因此它不会执行该操作。

要纠正这个问题,您需要a+i在计算之前指定一个位置来存储结果。通过反转操作顺序来实现:

Cells(2+i,1)=a+i

相关内容