求VBA代码改变按钮属性

EXCEL表格中有按钮A,和按钮B,要求:
1.点击按钮A后,按钮B的Enabled为=True(默认为FALSE),同时按钮A的Enabled为=false
2.点击按钮B后,按钮A的Enabled为=True,同时按钮B的Enabled为=false
3.关闭此EXCEL表,下次打开时,两按钮的状态保持上次保存此表时的状态
谢谢

首先几个相关对象为:
sheet1 表中有两个按钮:CommandButton1 、 CommandButton2

前面两个问题,将以下代码复制入sheet1表的代码窗中,实现两个按钮状态切换:
--------
Private Sub CommandButton1_Click()
CommandButton2.Enabled = True
CommandButton1.Enabled = False
End Sub

Private Sub CommandButton2_Click()
CommandButton1.Enabled = True
CommandButton2.Enabled = False
End Sub
-----------
问题3,麻烦一些,需要增加一模块,模块中定义两个全局变量:

Public com1, com2

然后将下面的代码复制入thisWorkbook 的代码窗中:
--------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheet1.CommandButton1.Enabled = com1
Sheet1.CommandButton2.Enabled = com2
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
com1 = Sheet1.CommandButton1.Enabled
com2 = Sheet1.CommandButton2.Enabled
End Sub

Private Sub Workbook_Open()
com1 = Sheet1.CommandButton1.Enabled
com2 = Sheet1.CommandButton2.Enabled
End Sub
----------
当打开excel时,或点保存(不关闭excel)时,记录两个按钮的状态
当关闭excel,设置按钮为前面记录的状态
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-13
思路:
移动焦点在第3个控件是写按钮:A.Enable = False:按钮A.Enable = False
在Deactivate事件将按钮状态写在单元格中,打开表读按钮状态。
第2个回答  2011-06-13
Private Sub CommandButton1_Click()
CommandButton1.Enabled = False
CommandButton2.Enabled = True
End Sub
Private Sub CommandButton2_Click()
CommandButton1.Enabled = True
CommandButton2.Enabled = False
End Sub
第3个回答  2011-06-13
你说的很清楚了啊,想都想这么明白了,去写啊。