【发布时间】:2011-04-07 10:59:32
【问题描述】:
我有一个 excel VBA 宏,它可以持续更新数据库。
我使用 ActiveX 控件触发宏,Excel 工作表上的“开始”按钮。
我想在电子表格的一个单元格正常工作时将状态显示为“工作中”
如果出现错误,它应该显示“Stopped Working”。
我该怎么做?
【问题讨论】:
我有一个 excel VBA 宏,它可以持续更新数据库。
我使用 ActiveX 控件触发宏,Excel 工作表上的“开始”按钮。
我想在电子表格的一个单元格正常工作时将状态显示为“工作中”
如果出现错误,它应该显示“Stopped Working”。
我该怎么做?
【问题讨论】:
把它放在按钮的 OnClick 方法中:
Public Sub CommandButton1_Click()
On Error GoTo ErrorHandler
Dim msgRange As Range
' change this to the cell you want to update
Set msgRange = ThisWorkbook.Sheets("Sheet1").Range("A1")
msgRange.Value = "Working"
' your code goes here
msgRange.Value = "Completed"
Set msgRange = Nothing
Exit Sub
ErrorHandler:
msgRange.Value = "Stopped working: " & Err.Description
Set msgRange = Nothing
End Sub
【讨论】:
Application.StatusBar 而不是一些随机单元格!否则这是一个很好的方法。
Application.StatusBar 的忠实粉丝,因为我的用户从没想过会在屏幕底部看到任何有意义的东西......我发现在旁边放一条状态消息更明显到他们刚刚点击的按钮。但对每个人来说都是他们自己的!
或者您可以使用 Application.StatusBar 这是显示更新的常用方式:
Application.StatusBar = "Updating..."
【讨论】: