excel中如何让一个录制好的宏,一直不断的在运行
由于要使用web查询功能,但是此功能只支持最小1分钟自动刷新,所以我就想录制一个宏了进行刷新web查询,想每5秒或者10秒刷新一次web查询,可以让excel打开后这个宏...
由于要使用web查询功能,但是此功能只支持最小1分钟自动刷新,所以我就想录制一个宏了进行刷新web查询,想每5秒或者10秒刷新一次web查询,可以让excel打开后这个宏一直不停地在运行吗?
展开
1个回答
展开全部
给你个宏作为参考,注意do loop死循环 doevents保留外带尺部控制权 Cells(2, 2)外部控制单郑行中元格——总得让宏停止的吧。
Option Explicit
Sub 宏2()
'
' 宏2 Macro
' user 记录的宏 2010-8-4
'
Dim i%, a, missTime#, j%, jold%, minTime#
missTime = c(Cells(1, 2))
Cells(2, 2) = "时间提醒正在运行,删除我停止运喊山行,开始于:" & missTime
jold = 0
Do
'j+1 to max找到大于等于misstime的最小值mintime,j
j = 0: minTime = Date + 1
For i = 1 To [A65536].End(xlUp).Row
If c(Cells(i, 1)) >= missTime And c(Cells(i, 1)) < minTime Then
If c(Cells(i, 1)) = missTime And i <= jold Then
Else
j = i: minTime = c(Cells(i, 1))
End If
End If
Next i
If minTime < Now() Then
a = MsgBox(Cells(j, 1), 0, j)
missTime = minTime: jold = j
End If
DoEvents
If Cells(2, 2) = "" Then Exit Do
Loop
'
End Sub
Function c#(a)
c = a - Int(a) + Date
End Function
Option Explicit
Sub 宏2()
'
' 宏2 Macro
' user 记录的宏 2010-8-4
'
Dim i%, a, missTime#, j%, jold%, minTime#
missTime = c(Cells(1, 2))
Cells(2, 2) = "时间提醒正在运行,删除我停止运喊山行,开始于:" & missTime
jold = 0
Do
'j+1 to max找到大于等于misstime的最小值mintime,j
j = 0: minTime = Date + 1
For i = 1 To [A65536].End(xlUp).Row
If c(Cells(i, 1)) >= missTime And c(Cells(i, 1)) < minTime Then
If c(Cells(i, 1)) = missTime And i <= jold Then
Else
j = i: minTime = c(Cells(i, 1))
End If
End If
Next i
If minTime < Now() Then
a = MsgBox(Cells(j, 1), 0, j)
missTime = minTime: jold = j
End If
DoEvents
If Cells(2, 2) = "" Then Exit Do
Loop
'
End Sub
Function c#(a)
c = a - Int(a) + Date
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询