Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6491|回复: 10

[已解决]请问,按钮根据复选框来变颜色且弹提示?

[复制链接]
发表于 2010-12-3 10:42 | 显示全部楼层 |阅读模式

要实现这样的功能怎样做?

有一个复选按钮CheckBox.1和一个CommandButton.1,需要实现,如果CheckBox.1被选上,按钮就可以点击进入某个工作表,如果不选上,按钮则变成灰色且点击时弹出提示框“CheckBox.1未选上”

最佳答案
2010-12-3 12:11
QUOTE:
以下是引用mickol在2010-12-3 11:11:00的发言:

可能我表达的意思不够明确,两位做的不是那种效果,我根据ZIPALL的文件改了一下,现在就差改变按钮背景色和文字的颜色了。不知怎样改变?请看附件



在sheet1中增加下面的代码
颜色你自己选

Private Sub CheckBox1_Click()
    With CommandButton1
        If CheckBox1 Then
            .ForeColor = 0
            .BackColor = 255
             Else
            .ForeColor = 255
            .BackColor = 0
        End If
    End With
End Sub


[此贴子已经被作者于2010-12-3 12:11:11编辑过]
发表于 2010-12-3 10:47 | 显示全部楼层


SJ6ozHEC.rar (9.23 KB, 下载次数: 4)

KDhN7IuE.rar

8.48 KB, 下载次数: 10

请问,按钮根据复选框来变颜色且弹提示?

回复

使用道具 举报

发表于 2010-12-3 10:58 | 显示全部楼层

KKvZ2Xbv.rar (10.65 KB, 下载次数: 23)
回复

使用道具 举报

 楼主| 发表于 2010-12-3 11:11 | 显示全部楼层

可能我表达的意思不够明确,两位做的不是那种效果,我根据ZIPALL的文件改了一下,现在就差改变按钮背景色和文字的颜色了。不知怎样改变?请看附件

IiJG3Pvw.rar (9.67 KB, 下载次数: 11)
回复

使用道具 举报

发表于 2010-12-3 11:30 | 显示全部楼层

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
    CommandButton1.BackColor = vbRed

ElseIf CheckBox1.Value = False Then
    CommandButton1.BackColor = vbYellow
End If
End Sub

Private Sub CommandButton1_Click()
    If CheckBox1.Value = True Then
        Sheet3.Select
    ElseIf CheckBox1.Value = False Then
        MsgBox "CheckBox.1未选上"
    End If
End Sub

见附件。

qvlBTw30.rar (11.69 KB, 下载次数: 27)
回复

使用道具 举报

发表于 2010-12-3 11:38 | 显示全部楼层

也可以下面这样,自己选择一个颜色属性然后把"&H8000000F&"复制到代码里。这样可选择性多一些。

CommandButton1.BackColor="&H8000000F&"

请问,按钮根据复选框来变颜色且弹提示?

请问,按钮根据复选框来变颜色且弹提示?

回复

使用道具 举报

发表于 2010-12-3 11:40 | 显示全部楼层

CommandButton1.BackColor=x也行

x的值为1 到 255 好像是。

不过最好用6楼的办法。呵呵

回复

使用道具 举报

发表于 2010-12-3 12:11 | 显示全部楼层    本楼为最佳答案   

QUOTE:
以下是引用mickol在2010-12-3 11:11:00的发言:

可能我表达的意思不够明确,两位做的不是那种效果,我根据ZIPALL的文件改了一下,现在就差改变按钮背景色和文字的颜色了。不知怎样改变?请看附件



在sheet1中增加下面的代码
颜色你自己选

Private Sub CheckBox1_Click()
    With CommandButton1
        If CheckBox1 Then
            .ForeColor = 0
            .BackColor = 255
             Else
            .ForeColor = 255
            .BackColor = 0
        End If
    End With
End Sub


[此贴子已经被作者于2010-12-3 12:11:11编辑过]
回复

使用道具 举报

 楼主| 发表于 2010-12-5 08:23 | 显示全部楼层

事后诸葛亮,你的代码可行,但少了文字的变色,不过也非常感谢你的。

问题已经解决了,谢谢两位的帮助。

回复

使用道具 举报

发表于 2011-10-7 19:48 | 显示全部楼层
看看,学习学习......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-7 06:31 , Processed in 0.280662 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表