VBA代码解决方案第三十八讲 如何对MsgBox对话框的内容进行排版,达到美观的效果

📅 2026/7/1 12:04:53
VBA代码解决方案第三十八讲  如何对MsgBox对话框的内容进行排版,达到美观的效果
《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程目前已经是第三版修订了。这套教程定位于入门后的提高在学习这套教程过程中侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。这套教程共三册一百四十七讲内容覆盖较广也是初级和中级间的过渡教程改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是VBA代码解决方案第三十八讲 如何对MsgBox对话框的内容进行排版达到美观的效果【分享成果随喜正能量】比起春天里的百花争艳荷花是专属夏天的浪漫。在热烈的盛夏时节灵湖里的荷花一开便自带“万人迷”属性收获所有人的喜爱第三十八讲 如何对MsgBox对话框的内容进行排版达到美观的效果朋友们好今日我们讲解VBA代码解决方案的第38讲如何对MsgBox对话框进行排版从而达到美观的效果。语法 【此处可以点击语法来查看MsgBox的语法结构】1 排版字符的利用如果在消息框中显示的字符串很长比如是一段多行的文字内容为了达到美观的效果需要首字缩进并将各行分隔开来我们先看下面的几个符号分别表示了不同的意义是非常有实用意义的。如vbCrLfChr(13) Chr(10) 表示回车符与换行符结合vbCrChr(13) 表示回车符vbLfChr(10)表示 换行符另外,在用消息框显示多行多列的数据时如果只用换行符Chr(10)等进行换行而数据列没有对齐会使显示的信息显得杂乱无章缺乏可读性为了达到消息框中显示信息各列对齐的效果在使用换行符Chr(10)等进行换行的基础上还需要使用制表符Chr(9)或常数vbTab对数据列进行分隔使之排列整齐。2 实现MsgBox对话框内容排版的代码及代码解读如下面代码所示。Sub mynz_38() 38 如何对MsgBox对话框的内容进行排版达到美观的效果Sheets(38).SelectDim myMsg As StringDim iRow As IntegerDim iCom As IntegerFor iRow 1 To 11For iCom 1 To 5myMsg myMsg Cells(iRow, iCom) Chr(9)NextmyMsg myMsg Chr(10)NextMsgBox myMsgEnd Sub代码截图代码解析mynz_38过程使用两层循环读取当前工作表中A1到E11单元格的内容并用消息框显示出来。1第8行代码iCom循环中在把逐列读取的单元格内容赋给变量mysMsg时插入一个制表符Chr(9)对列进行分隔。2第10行代码iRow循环中在读取下一行单元格内容赋给变量myMsg时插入一个换行符Chr(10)对行进行换行。3) 运行mynz_38过程将用消息框显示当前工作表中A1至E11单元格区域中的内容并排列整齐.再看看运行后的窗口这样在运行后弹出的窗口就非常的漂亮了。今日内容回向1 Chr(13) 是什么意义2 Chr(10) 是什么意义3 Chr(9) 是什么意义本讲内容参考程序文件VBA代码解决方案35-38.xlsm我20多年的VBA实践经验全部浓缩在下面的各个教程中