VBA 控制台输出信息

1 为什么不用MsgBox

MsgBox弹出消息框是显示信息的一种方式,如果通过多条MsgBox显示多项信息,每次还需要点击[确定]按钮,相对麻烦。

Sub hellos()
  MsgBox "hello,vba。 小步教程,xiaobuteach.com 。"
  MsgBox "第2条信息。"
  MsgBox "第3条信息。"
End Sub

2 使用方法

控制台,在VBA中也称立即窗口。

在控制台输出信息,一次直接显示多条信息,更加方便。

示例代码

Sub hello2s()
  Debug.Print "hello,vba。 小步教程,xiaobuteach.com 。"
  Debug.Print "第2条信息。"
  '打印空行
  Debug.Print
  Debug.Print "第3条信息。"
End Sub

打开[立即窗口]的方法:[视图]菜单中选中[立即窗口]。

VBA 显示立即窗口

鼠标光标放到当前过程,运行效果如下。

VBA 立即窗口


3 清除控制台已有内容

再次运行时,并不会自动清除立即窗口已经打印的数据。

如果需要清除已有数据,直接在立即窗口选中内容,通过键盘删除键Delete进行删除。


4 一行输出多项数据

'& 用于字符串连接。非字符串数据会自动转化为字符串。

Sub hello3()
  Debug.Print "第1项数据," & "第2项数据" & 6666
End Sub

输出内容:

第1项数据,第2项数据6666

5 逗号输出制表符

Sub hello4()
  Debug.Print "第1项数据,", "第2项数据", 6666
End Sub

各参数之间用逗号隔开,表示制表符。

输出内容:

第1项数据,   第2项数据   6666

6 分号用于不换行

Sub hello5()
  Debug.Print "第1项数据,";
  Debug.Print "第2项数据,";
  Debug.Print "第3项数据,";
End Sub

说明

Debug.Print默认会用换行,末尾加上分号;表示不换行。

输出内容:

第1项数据,第2项数据,第3项数据,