excel vba 权限管理 让特定的按钮变灰不可用
If(Spwd=User_pwd)Then'核实密码是否正确Sgrade=Application.WorksheetFunction.VLookup(Sname,Work...
If (Spwd = User_pwd) Then '核实密码是否正确
Sgrade = Application.WorksheetFunction.VLookup(Sname, Worksheets("修改用户权限").Range("C7:E200"), 2, False)
'获取用户级别
Select Case Sgrade '判断登录用户的用户级别
Case "一般用户" '一般用户的处理
Sheets("修改用户权限").Visible = False '隐藏“用户权限”工作表
Sheets("差异分析").Visible = False '隐藏“差异分析”工作表
Sheets("9-28").Visible = False '隐藏“资产负债表”工作表
CommandButton1_Click().Enable = False
Protect '保护工作表
Case "责任人" '责任人的处理
Sheets("修改用户权限").Visible = False '隐藏“用户权限”工作表
Protect '保护工作表
Case "管理员" '管理员级别的处理
End Select
上面的代码 CommandButton1_Click().Enable = False
是我写的 想让 表(首页)上的 按钮1 变成灰色 但是这段代码是在窗体1(登陆界面)上写的 这句代码执行不了 估计是这么写直接就让窗体1 中的 按钮1 变灰了 而不是让 表(首页)上的按钮1变灰 求大神帮忙解决一下 感激不尽 展开
Sgrade = Application.WorksheetFunction.VLookup(Sname, Worksheets("修改用户权限").Range("C7:E200"), 2, False)
'获取用户级别
Select Case Sgrade '判断登录用户的用户级别
Case "一般用户" '一般用户的处理
Sheets("修改用户权限").Visible = False '隐藏“用户权限”工作表
Sheets("差异分析").Visible = False '隐藏“差异分析”工作表
Sheets("9-28").Visible = False '隐藏“资产负债表”工作表
CommandButton1_Click().Enable = False
Protect '保护工作表
Case "责任人" '责任人的处理
Sheets("修改用户权限").Visible = False '隐藏“用户权限”工作表
Protect '保护工作表
Case "管理员" '管理员级别的处理
End Select
上面的代码 CommandButton1_Click().Enable = False
是我写的 想让 表(首页)上的 按钮1 变成灰色 但是这段代码是在窗体1(登陆界面)上写的 这句代码执行不了 估计是这么写直接就让窗体1 中的 按钮1 变灰了 而不是让 表(首页)上的按钮1变灰 求大神帮忙解决一下 感激不尽 展开
4个回答
2015-11-03 · 知道合伙人养生行家
关注
展开全部
写在Worksheet_Change事件里,如果写在Worksheet_SelectionChange,会有个bug,比如往E1里输入不符合要求的内容,然后直接按保存,这是不会触发Worksheet_SelectionChange事件,然后再按按钮就会出错。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r1, r2, r3
r1 = Range("e1").Value
r2 = Range("e2").Value
r3 = Range("e3").Value
CommandButton1.Enabled = False
If r1 <> "" And r2 <> "" And r3 <> "" And IsNumeric(r1) And IsNumeric(r2) And IsNumeric(r3) Then
CommandButton1.Enabled = True
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r1, r2, r3
r1 = Range("e1").Value
r2 = Range("e2").Value
r3 = Range("e3").Value
CommandButton1.Enabled = False
If r1 <> "" And r2 <> "" And r3 <> "" And IsNumeric(r1) And IsNumeric(r2) And IsNumeric(r3) Then
CommandButton1.Enabled = True
End If
End Sub
展开全部
晕,CommandButton1_Click().Enable = False
按钮名不可能是CommandButton1_Click()的吧,你是按钮事件中直接复制过来的吧,把点击事件整个复制过来了,把后面的_Click()去掉吧,CommandButton1.Enable = False
按钮名不可能是CommandButton1_Click()的吧,你是按钮事件中直接复制过来的吧,把点击事件整个复制过来了,把后面的_Click()去掉吧,CommandButton1.Enable = False
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在窗体中写就直接
CommandButton1.Enabled = False
如果你的按钮在工作表中
Sheets("首页").CommandButton1.Enable = False
CommandButton1.Enabled = False
如果你的按钮在工作表中
Sheets("首页").CommandButton1.Enable = False
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不理解,sheet1.CommandButton1.enabled=false不行吗? 注意是ActiveX control控件,不是宏控件
追问
我不知道 什么是ActiveX control控件和宏控件 我是初学者
那段代码前面我改成Sheets("首页").CommandButton1_Click().Enable = False之后
我退出想用普通用户登录 就直接说密码错误了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询