作者:乔山办公网日期:
返回目录:excel表格制作
如果只是百查询到期日,没必要用msgbox,这样很难看清,建议直接筛选的方法。
在B列筛选:条件为 小于或等于 当前日期+5 比如输入4/26 这个方法最简单。
也可以用一个辅助列,加以if函数,筛选,更方便。
一定要用msgbox,用如下代码:(度仅供参考,需要根据实际情况修改)
Sub cha()
Dim m As String
For i = 2 To [a1].End(xlDown).Row - 1
If Cells(i, 2) <= Now() + 5 Then m = m & Cells(i, 1) & "于" & Cells(i, 2) & "将到期" & Chr(13)
Next
MsgBox (m)
End Sub
以上范例在内附件内。
另外,excel读取oracle,可用菜单“数据“-”获取外部数据“-”新建数据库查询“-新数据源-自己起个名字-选microsoft ODBC for oracle,前提是要有oracle数据库,并要有用户名和密容码。
如果数据库不在网络内,可以在oracle数据库端建立WEB服务器,并将数据用WEB页面方式发布,用excel 新建WEB查询,更加方便,不需要本机加装任何接口。
msgbox("内容")可以来将返回值传递给变量源
如:
msg=msgbox("内容")
然后根据变量msg的内百容作进一步处理(比如这种用法度中,可以返回YES或NO的对应数问值)
而
msgbox "内容"
则仅作为显示一个提示信息答。
不太可能。
因为MsgBox激活时,复VBA处于中断运行的状态,这时Application也几乎没有事件能被触发。
建议楼主使用合适制的API来模拟MsgBox,这样可以定时关闭类似的弹窗。有些简单的API还是很方便使用的,甚至可知以定义在加载项中像使用内部函道数一样非常方便地使用它们
你可以定义一个变量啊,每次满足条件的时候给变量追加新值,最后用msgbox弹出这个变量的值