如何使得excel 复选框被选中时在其他格子中显示值?

例:
复选框被选中时:G18中显示 A1+A2+A3的值
复选框没被选中时:G18中显示 A1+A2的值
同时 我还不想让 G18中的公式被其他使用者随意改变 但又可以在 A1 A2 A3中输入不同的数据

为什么我一锁定G18就连A1 A2 A3 也跟着不能重新输入数据呢?

对复选框控制的单元格进行判断,如果他为ture显示(被选中)。

1.右键复选框——设置空间格式,控制,单元格链接指定为A1单元格。(在被选中是A1单元格值为ture,未选中时为false)

选中子表,点击条件格式——新建条件格式(如果A1单元格为FALSE,则字体颜色为白色——假隐藏)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-16
如果不用VBA的话,就需要一个目标单元格,假定为D3,设置方法:
右键复选框→设置控件格式→单元格链接,输入D3。 确定

这样选定时,D3=true,否则 D3=false
G18公式设置
=if(D3,sum(a1:a3),a1+a2)

至于D3,可以放到合适的地方隐藏,或设置不可见,这只是个示例本回答被提问者采纳
第2个回答  2010-07-17
右键点击复选框,点击“查看事务代码”,在Private Sub CheckBox1_Click()下加入以下代码(其中checkbox1是你的复选框控件的名称,按实际情况替换):

If CheckBox1.Value = True Then
Cells(18, "G").Value = Cells(1, "A").Value + Cells(2, "A").Value + Cells(3, "A").Value
Else
Cells(18, "G").Value = Cells(1, "A").Value + Cells(2, "A").Value
End If

补充问题:
关于你补充的不让G18的公式随便被改变的问题,可采用保护工作表的方式完成。如果是office2003的话,工作表中所有单元格都是默认锁定的,一旦工作表被保护,锁定作用将起效。因此,你可以先全选整个工作表,右键菜单选择“设置单元格格式”,在“保护”选项卡中的“锁定”前的勾去掉,然后按同样方法选定G18进行锁定。这样再按需要在工具栏中的“保护”中设定即可。
第3个回答  2010-07-16
为复选框控件设置一段代码就行了:
---------------
Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
Range("G18") = Application.WorksheetFunction.Sum(Range("A1:A3"))
Else
Range("G18") = Application.WorksheetFunction.Sum(Range("A1:A2"))
End If
End Sub
---------------
其他问题Hi我
第4个回答  2010-07-16
选择窗体工具栏(注意不是Visal basic工具栏)中的复选框,画一个,右键,设置格式,指定链接到某一个单元格,如A4.

G18写公式: =if(a4,sum(a1:a3),sum(a1:a2))

然后选择a1,a2,a3,A4四个单元格,右键,设置单元格格式,保护,取消锁定前的对号.然后点工具-保护-保护工作表.

这样就锁住了a1,a2,a3,a4四个单元格以外的所有单元格.

就可以了.

子易空间站 - Excel培训专家
相似回答