1

我是 VBA 的新手(在 Excel 中使用它),我目前正在阅读一些教程,以了解它与 Java oder C# 的不同之处。但这不是问题... ;-)

这个教程告诉我在 Form_Initialize 过程中使用“打印”(我正在使用带有 VBA6 的 Office XP ...不要问我为什么,这不是我的决定:-P)。但是当我这样做时,它给了我上面提到的错误(或者至少我猜这个错误必须用英语读成这样的东西,我的版本是德语:D)。

这是我在一个非常简单的示例中尝试做的事情:

Private Sub UserForm_Initialize()
   Print "Hello World!"
End Sub

按照教程,这应该将“Hello World”打印到即将初始化的表单的“表面”......按照帮助(F1),它应该做的差不多......
但它没有;- )

有人知道我哪里错了吗?我不明白...

在此先感谢并问候
吉拉拉斯

=================================更新================= ===============
教程告诉我写

Print " a", "      b", "a*b", "a+b", "Int(a/b)"

这应该给我一种表格形式的表达方式。
这甚至可以使用文本框吗?

4

3 回答 3

4

您需要在放置文本的用户表单中插入某种控件。例如,放置一个类型的控件Caption并将其命名Caption1(在属性列表中F4)。

然后你可以分配一个值:

Me.Caption1 = "Hello world!"

或者,根据您的需要,您可以使用Debug.Print "Hello world!"简单地在调试控制台中输出字符串(仅在开发期间有用) - 或用于MsgBox "Hello world!"向用户显示消息。在这种情况下,您根本不需要表单,而只需触发宏,例如从 Excel 中的按钮。

于 2013-03-28T09:18:18.140 回答
1

VBA 与 Win32 应用程序不同。使用 print 是旧版本,现在不一样了。如果你想在表面上打印一些东西,你必须添加一个东西来写它。像...

将工具箱中的文本框(对象)添加到表单,也添加标签(对象)然后您的文本框默认名称为 Textbox1,标签默认名称为 Label1

所以,在你的代码上:

Private Sub UserForm_Initialize()
   textbox1.text = "Hello World"
Label1.text = "Hello World"
End Sub
于 2013-03-28T09:19:11.363 回答
1

您可以使用 debug.print http://www.cpearson.com/excel/DebuggingVBA.aspx在即时窗口/控制台 (ctr+g) 中打印

于 2013-03-28T09:21:32.330 回答