输入框编译错误
Input box Compile Error
当有人使用这个宏时,我一直试图获取文件名的名称。但出于某种原因,每次我 运行 宏时,我都会收到错误消息:
编译错误:
参数数量错误或无效 属性 赋值
我看了很多视频和其他回复,但其中 none 帮助我解决了这个错误。
Sub inputbox()
Dim x As Variant
x = inputbox("Please enter your file name:", "File name")
MsgBox ("Your file name is" & x)
End Sub
这是您的程序,已更正:(复制并粘贴到新模块中。)
Option Explicit
Sub MyInputBoxTest()
Dim x As Variant
x = inputbox("Please enter your file name:", "File name")
MsgBox ("Your file name is " & x)
End Sub
解释:
变体拼写错误。请注意,由于 Variant
是默认数据类型,您实际上不需要指定它。 Dim x
与 Dim x as Variant
相同。
您不能使用 InputBox
或 MsgBox
之类的名称作为过程的名称。它们是 保留字 -- 已经被另一个内置于 VBA 的过程使用,所以它混淆了编译器,因为它不知道你指的是哪个。
在单词is
后添加了一个space。 (纯属装饰品)
MsgBox 和 InputBox 等函数的调用方式可能不同,具体取决于您是否使用括号以及是否需要 return 一个值。
InputBox "Hi"
InputBox ("Hi")
...其中任何一个 运行 都可以(但不会 return 用户输入的内容。)
Dim x
x = InputBox ("Hi")
...将 return 的值赋给变量 x
,但是:
x = InputBox "Hi"
...将引发错误。
强烈建议您 将行 Option Explicit
添加到每个模块的最顶部 ,尤其是在学习时.这将帮助 "force" 您在尝试编译 (F9) 或 运行 (F5) 代码时生成编译错误,从而正确声明和引用变量、对象等。
当有人使用这个宏时,我一直试图获取文件名的名称。但出于某种原因,每次我 运行 宏时,我都会收到错误消息: 编译错误: 参数数量错误或无效 属性 赋值
我看了很多视频和其他回复,但其中 none 帮助我解决了这个错误。
Sub inputbox()
Dim x As Variant
x = inputbox("Please enter your file name:", "File name")
MsgBox ("Your file name is" & x)
End Sub
这是您的程序,已更正:(复制并粘贴到新模块中。)
Option Explicit
Sub MyInputBoxTest()
Dim x As Variant
x = inputbox("Please enter your file name:", "File name")
MsgBox ("Your file name is " & x)
End Sub
解释:
变体拼写错误。请注意,由于
Variant
是默认数据类型,您实际上不需要指定它。Dim x
与Dim x as Variant
相同。您不能使用
InputBox
或MsgBox
之类的名称作为过程的名称。它们是 保留字 -- 已经被另一个内置于 VBA 的过程使用,所以它混淆了编译器,因为它不知道你指的是哪个。在单词
is
后添加了一个space。 (纯属装饰品)
MsgBox 和 InputBox 等函数的调用方式可能不同,具体取决于您是否使用括号以及是否需要 return 一个值。
InputBox "Hi"
InputBox ("Hi")
...其中任何一个 运行 都可以(但不会 return 用户输入的内容。)
Dim x
x = InputBox ("Hi")
...将 return 的值赋给变量 x
,但是:
x = InputBox "Hi"
...将引发错误。
强烈建议您 将行 Option Explicit
添加到每个模块的最顶部 ,尤其是在学习时.这将帮助 "force" 您在尝试编译 (F9) 或 运行 (F5) 代码时生成编译错误,从而正确声明和引用变量、对象等。