EXCEL VBA 使用msgbox制作帮助文件对话框
假设你的表格有一些帮助内容 这些内容一般放于比较后的列 比如BB列假设存放BB列 从BB2开始一直往下存放 每行存放一句
先在BB1=SUM(IF(($BB$2:$BB$100)"",1,0)) 三键按下执行数组公式 返回该区域非空单元格[即有数据]的数量
这个区域要求数据之间不能有空单元格 BB100的行数视实际情况可增减 尽量取大一点
创建一个按钮 指定宏 代码如下
Option Explicit
Sub 总览_各表共性()
Dim i
Dim str1
str1 = "此内容存于BB列"
For i = 2 To 1 + Range("bb5").Value
str1 = str1 & vbNewLine & vbNewLine & Range("bb" & i).Value
Next
MsgBox str1
End Sub
以后只要按下这个按钮 你放在后面列的帮助内容就会以对话框形式显示出来
代码中的行列可以按实际情况进行修改
结果如下图
以前傻乎乎的 不懂得用for来连接字符串内容 有多少行 就用多少个range().value 不是一般痛苦 假设BB2:BB100中间有空行且空行间距不定,显示出来的内容岂不很难看?
另:=SUM(IF(($bb$2:$bb$100)<>"",1,0))
完全可以:
=SUM(n(bb2:bb100<>""))
或者直接用COUNTA(bb2:bb100)即可。
但如果中间有不确定的空行,你的公式、代码都麻烦了。 解决办法:
假设BB2开始输入帮助内容,且不确定此后空行,则直接用代码:
[*]Sub Hlp()
[*] Dim cH$
[*] nR=.End(xlUp).Row
[*] If nR<2 Then Exit sub
[*] For i=2 To nR
[*] If Cells(i,"bb")<>"" Then cH=cH & Cells(i,"bb") & Chr(10)
[*] Next
[*] If cH<>"" Then MsgBox cHEnd Sub
复制代码 刚学VBA和数组没几天 不要要求那么高啊 对于数据不是那么庞大的 能实现功能就不错了 :) 高人 你的比较高深 我的比较通俗 适合初学者理解 你的代码 有几行 我还看不懂 哈哈 别见怪 继续学习 谢谢
页:
[1]