我是新手,并试图学习VBA。当我输入代码时,我得到编译错误预期函数或变量。
关于activecell的内容,但无法弄清楚。
Sub Testare()
Dim FilmName As String
Dim FilmLenght As Integer
Dim FilmDescription As String
Range("b10").Select
FilmName = ActiveCell.Value
FilmLenght = ActiveCell.Offset(0, 2).Value
If FilmLenght < 100 Then
FilmDescription = "Interesant"
Else
FilmDescription = "Suficient"
End If
MsgBox FilmName & " is " & FilmDescription
End Sub
答案 0 :(得分:4)
当一个Sub被称为与变量相同时也会发生这种错误(例如,在一个Sub中,你使用迭代器进行循环&#34; a&#34;,而另一个Sub被称为&#34; a&#34;)
这会产生适合您描述的错误。
此致
答案 1 :(得分:2)
可以通过两种不同的方式使代码失败:
这将导致溢出错误或类型不匹配错误。
答案 2 :(得分:2)
我知道这是前一段时间被问过的,但是当我在工作表中创建一个子名称与工作表名称相同时,我最终得到了同样的错误。
不幸的是,当发生这种情况时,编译不会突出显示错误;该错误仅在运行时出现。此外,违规行未突出显示,这使得查找有点困难。
更改子名称解决了它。
答案 3 :(得分:0)
这是导致我这个错误的原因:
在我即将开始编写的新公共函数中,我开始键入一条语句,但是需要从另一个位置复制一个长的varname,因此我只是插入了字母a
以防止Excel弹出-烦人的Compile Error: Expected Expression
对话框。所以我有这个:
myVarName = a
然后,我尝试逐步完成代码以达到这一点,并且当Excel输入该功能时,我收到了消息"Compile Error: Expected Function Or Variable"
。要解决,我只是将占位符更改为数字:
myVarName = 1
一切都很好。