我是VBA的新手(与Excel一起使用),我目前正在阅读一些教程,以了解它与Java oder C#的不同之处。但这不是问题...... ;-)
这一个教程告诉我在Form_Initialize过程中使用“Print”(我正在使用带有VBA6的Office XP ......不要问我为什么,这不是我的决定:-P)。但是,当我这样做时,它给了我上面提到的错误(或者至少我猜错误必须在英语中读到这样的东西,我的版本是德语:D)。
以下是我在一个非常简单的例子中尝试做的事情:
Private Sub UserForm_Initialize()
Print "Hello World!"
End Sub
按照教程,这应该将“Hello World”打印到即将初始化的表单的“表面”...
在帮助(F1)之后,它应该做的几乎相同......
但它没有;-)
任何人都知道我哪里错了?我不明白......
提前致谢和问候 吉拉拉斯
================================ UPDATE =========== =====================
该教程告诉我写
Print " a", " b", "a*b", "a+b", "Int(a/b)"
这应该在表格上给我一个表格式的表达 甚至可以使用TextBox吗?
答案 0 :(得分:4)
您需要在用于放置文本的用户表单中插入某种控件。例如。放置Caption
类型的控件并将其命名为Caption1
(在属性列表 F4 中)。
然后您可以使用以下内容指定值:
Me.Caption1 = "Hello world!"
或者,根据您的需要,您可以使用Debug.Print "Hello world!"
在调试控制台中输出字符串(仅在开发期间有用) - 或使用MsgBox "Hello world!"
向用户显示消息。在这种情况下,您根本不需要任何形式,只需要触发宏,例如来自Excel中的按钮。
答案 1 :(得分:1)
VBA与Win32应用程序不一样。 使用print是旧版本,现在不一样了。如果要在表面上打印某些内容,则必须添加一个要写入的内容。像...
将工具箱中的文本框(对象)添加到表单, 添加标签(对象) 然后您的文本框默认名称为Textbox1,标签默认名称为Label1
所以,在你的代码上:
Private Sub UserForm_Initialize()
textbox1.text = "Hello World"
Label1.text = "Hello World"
End Sub
答案 2 :(得分:1)
您可以使用debug.print在即时窗口/控制台(ctr + g)中打印 http://www.cpearson.com/excel/DebuggingVBA.aspx