打开excel根据条件决定是否自动执行宏 求vba宏代码

打开excel文件,自动检查A列是否有数据,如果没有数据则自动执行宏;如果有则不执行。如果没有执行宏或宏执行完毕,且当前时间是1点~15点则保存并关闭此excel文件;如... 打开excel文件,自动检查A列是否有数据,如果没有数据则自动执行宏;如果有则不执行。
如果没有执行宏或宏执行完毕,且当前时间是1点~15点则保存并关闭此excel文件;如果当前时间不是则只保存不关闭。
展开
 我来答
chiefzjh
2012-04-06 · TA获得超过9088个赞
知道大有可为答主
回答量:7013
采纳率:37%
帮助的人:2324万
展开全部
Private Sub Workbook_Open()
With Sheets(1)
If WorksheetFunction.CountA(.Range("a:a")) = 0 Then Call macro
ThisWorkbook.Save
If Hour(Time) >= 1 And Hour(Time) <= 15 Then ThisWorkbook.Close
End With
End Sub
changhenxue999
2012-04-06 · TA获得超过250个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:235万
展开全部
Private Sub Workbook_Open()
With Sheets(1)
If WorksheetFunction.CountA(.Range("a:a")) > 0 Then Call macro
ThisWorkbook.Save
If Hour(Time) >= 1 And Hour(Time) <= 15 Then ThisWorkbook.Close
End With
End Sub
统计单元格要大于0才对!
追问
虽然经过测试,您的答案是不正确的,但也非常感谢您的热心,祝您好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xjz1021
2012-04-06 · 超过28用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:78.2万
展开全部
Private Sub Workbook_Open()
ano = Sheet1.[a65535].End(xlUp).Row
If (ano = 1 And Len(Trim(Sheet1.[a1])) > 0) Or ano > 1 Then
Call 宏
End If

If Time > "01:00:00" And Time <= "15:00:00" Then
ThisWorkbook.Close True
Else
ThisWorkbook.Save
End If
End Sub
追问
虽然经过测试,您的答案是不正确的,但也非常感谢您的热心,祝您好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式