我正在运行的代码存储在ThisWorkbook中。它最初是Private Sub Workbook_Activate和Private Sub Workbook_Deactivate。在打开的工作簿之间切换时,这会导致一些意外的结果。所以我已将代码更改为以下内容。直到现在,我收到一条编译错误消息(当我收到此错误消息时,突出显示Private Sub Workbook_BeforeClose):
编译错误:
程序声明与具有相同名称的事件或程序的描述不匹配。
我在VBA中不够精明,无法理解此错误消息或对其进行良好修复。欢迎提供所有帮助和建议。
Private Sub Workbook_Open()
Call AddToCellMenu
End Sub
Private Sub Workbook_BeforeClose()
Call DeleteFromCellMenu
Call DeletePopUpMenu
End Sub
答案 0 :(得分:1)
应该是:
CREATE TABLE `locations` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`country_id` int(11) unsigned DEFAULT NULL,
`area_id` int(11) unsigned DEFAULT NULL,
`timeZone` int(2) DEFAULT NULL,
`lat` double DEFAULT NULL,
`lon` double DEFAULT NULL,
`locationKey` int(11) unsigned DEFAULT NULL,
`cityId` int(11) unsigned DEFAULT NULL,
`sess` bigint(100) unsigned DEFAULT '0',
PRIMARY KEY (`id`),
KEY `lat` (`lat`),
KEY `lon` (`lon`),
KEY `country_id` (`country_id`),
KEY `cityId` (`cityId`),
KEY `area_id` (`area_id`),
KEY `sess` (`sess`)
) ENGINE=InnoDB AUTO_INCREMENT=3369269 DEFAULT CHARSET=utf8;
使用Cancel参数可以阻止工作簿关闭 - 例如如果某些条件没有得到满足。将Cancel设置为True会使工作簿无法关闭 - 请参阅Workbook.BeforeClose documentation