替换Excel 97的菜单栏是很容易的,只需创建一个新的菜单栏就会删除Excel 97的 菜单栏。当需要恢复Excel 97的菜单栏时,只要删除新创建的菜单栏就可以了。该 系统的自定义菜单中只需两个命令按钮,一个用来返回到系统的主画面 (ReturnMAIN),另一个用来退出系统(ExitSYS)。下面是模块(Module)中有关 的宏或是事件控制程序。 Sub ZapMenu( ) On Error Resume Next CommandBars(“保险查询系统”).Delete End Sub 这是一个用来删除自定义菜单栏的宏。语句On Error Resume Next保证无论自 定义菜单栏是否存在都能正确删除它。 Sub ExitSYS( ) ZapMenu ActiveWorkbook.Close SaveChanges := False End Sub 这是用来退出系统的宏。它删除自定义菜单,并关闭活动的工作簿(不提示保存 修改)。 Sub ReturnMAIN( ) Worksheets(“保险查询系统”).Select End Sub 该宏用来返回主画面。它激活“保险查询系统”工作表。 Sub SetMenu( ) Dim myBar As CommandBar Dim myButton As CommandBarButton ZapMenu Set myBar = CommandBars.Add(Name:=“保险查询系统”, _ Position :=msoBarTop, _ MenuBar :=True) Set myButton = myBar.Controls.Add(msoControlButton) myButton. = msoButtonCaption myButton.Caption = “退出[&E]” myButton.OnAction = “ExitSYS” Set myButton = myBar.Controls.Add(msoControlButton) myButton. = msoButtonCaption myButton.Caption = “返回[&R]” myButton.OnAction = “ReturnMAIN” myButton.Visible = False myBar.Protection = msoBarNoMove + msoBarNoCustomize myBar.Visible = True End Sub 这个宏包含五部分。第一部分定义了一对变量。第二部分首先运行ZapMenu宏, 保证保险查询系统菜单栏是不存在的,然后创建它。参数MenuBar的值设为True,确 保这个新创建的命令栏为一菜单栏。第三部分和第四部分将两个命令按钮加入到菜单 栏中。并设置ReturnMAIN命令按钮的初始状态为不可见状态。最后一部分保护这个 新创建的菜单栏,使用户不能移动也不能自定义新菜单栏。 工作表汇总 Sub sum() '表汇总,第1张的a1:e20等于所有表的相同单元格的和 Attribute sum.VB_ProcData.VB_Invoke_Func = "z/n14" Dim X As Worksheet For y = 1 To 20 For z = 1 To 5 For Each X In Worksheets shname = X.Name ActiveSheet.Cells(y, z).Value = ActiveSheet.Cells(y, z).Value + Worksheets(shname).Cells(y, z) Next Next z Next y End Sub |