对复选框控制的单元格进行判断,如果他为ture显示(被选中)。
1.右键复选框——设置空间格式,控制,单元格链接指定为A1单元格。(在被选中是A1单元格值为ture,未选中时为false)
选中子表,点击条件格式——新建条件格式(如果A1单元格为FALSE,则字体颜色为白色——假隐藏)
如果不用VBA的话,就需要一个目标单元格,假定为D3,设置方法:
右键复选框→设置控件格式→单元格链接,输入D3。 确定
这样选定时,D3=true,否则 D3=false
G18公式设置
=if(D3,sum(a1:a3),a1+a2)
至于D3,可以放到合适的地方隐藏,或设置不可见,这只是个示例
右键点击复选框,点击“查看事务代码”,在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进行锁定。这样再按需要在工具栏中的“保护”中设定即可。
为复选框控件设置一段代码就行了:
---------------
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我
选择窗体工具栏(注意不是Visal basic工具栏)中的复选框,画一个,右键,设置格式,指定链接到某一个单元格,如A4.
G18写公式: =if(a4,sum(a1:a3),sum(a1:a2))
然后选择a1,a2,a3,A4四个单元格,右键,设置单元格格式,保护,取消锁定前的对号.然后点工具-保护-保护工作表.
这样就锁住了a1,a2,a3,a4四个单元格以外的所有单元格.
就可以了.
子易空间站 - Excel培训专家