在Excel 2007中编译错误打开工作簿

时间:2015-12-07 23:50:27

标签: excel-vba excel-2007 vba excel

我正在运行的代码存储在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

1 个答案:

答案 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