我有一个工作表,它根据选择的单元格更新StatusBar(这很好)。我的问题是,当用户转到另一个工作表时,使用将StatusBar设置为空的代码:
Private Sub Worksheet_Deactivate()
Application.StatusBar = vbNullString ' Run time error here
End Sub
Err.Description是:“对象'_Application'的方法'StatusBar'失败”,Err.Number为:50290。
仅当用户从“工作表”快速更改为“工作表”(通过按Ctrl + PgUp或Ctrl + PgDown)时才会出现此错误,并且在慢慢切换到另一个工作表时不会发生此错误。
为什么会出现此错误?
答案 0 :(得分:1)
将其设为False
Application.StatusBar = False
来自Microsoft的:
如果Microsoft Excel控制状态栏,则此属性返回False。要恢复默认状态栏文本,请将该属性设置为False;即使隐藏状态栏,这也有效。
答案 1 :(得分:0)
我发现了问题。当事件处理程序开始执行时,Excel应用程序可能没有准备好,因此必须检查代码是否引用与应用程序相关的对象:
Here is the table structure of `facility` table:
| facility | CREATE TABLE `facility` (
`FacilityId` bigint(20) NOT NULL auto_increment,
`FacilityName` varchar(45) default NULL,
`ViewerId` bigint(20) default NULL,
`MessageTemplate` varchar(256) default NULL,
`RecApp` varchar(60) default NULL,
`RecFacility` varchar(60) default NULL,
`SendApp` varchar(60) default NULL,
`SendFacility` varchar(60) default NULL,
`MirthChannelEnable` int(1) NOT NULL default '0',
`CompletenessCriteria` int(2) NOT NULL,
`RetryLimit` int(2) NOT NULL default '3',
`WatchDelay` int(11) NOT NULL,
`RetryDelay` int(11) NOT NULL,
`AckTimeOut` int(11) NOT NULL,
`KeepConOpen` int(1) NOT NULL default '0',
`SendTimeout` int(11) NOT NULL,
`EncryptURL` int(1) NOT NULL default '0',
`Host` varchar(15) NOT NULL,
`Port` int(11) NOT NULL,
`CreationDate` timestamp NOT NULL default CURRENT_TIMESTAMP,
`Description` varchar(256) default NULL,
`EventLogOffset` int(11) NOT NULL default '0',
PRIMARY KEY (`FacilityId`),
KEY `Fk_Fac_ViewerId_idx` (`ViewerId`),
CONSTRAINT `Fk_Fac_ViewerId` FOREIGN KEY (`ViewerId`) REFERENCES `viewer` (`ViewerId`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |