Vba 选中复选框时使单元格处于活动状态
我在Excel电子表格的单元格中有一个复选框。我正在编写一个宏,使用Vba 选中复选框时使单元格处于活动状态,vba,excel,Vba,Excel,我在Excel电子表格的单元格中有一个复选框。我正在编写一个宏,使用Activecell.Offset函数将文本放置在某些单元格中,如下所示: Activecell.Offset(3,1).Value = "Needed" 但是,为了使这项工作符合要求,我需要在选中复选框时使包含复选框的单元格成为活动单元格。如何执行此操作?这适用于窗体控件复选框对象 确保您的复选框索引和ActiveSheet.checkbox(1) 都是一样的 Sub Checkbox1_Click() Dim chkBo
Activecell.Offset
函数将文本放置在某些单元格中,如下所示:
Activecell.Offset(3,1).Value = "Needed"
但是,为了使这项工作符合要求,我需要在选中复选框时使包含复选框的单元格成为活动单元格。如何执行此操作?这适用于窗体控件复选框对象
确保您的复选框索引和
ActiveSheet.checkbox(1)
都是一样的
Sub Checkbox1_Click()
Dim chkBox As CheckBox
Set chkBox = ActiveSheet.CheckBoxes(1)
Range(chkBox.LinkedCell).Offset(3, 1).Value="Needed"
End Sub
您还可以根据LinkedCell
中的值,使用所需的-进行填充
如果您的复选框是ActiveX控件。您可以对其执行类似的操作方法
已编辑以显示更多详细信息
复选框表单控件的工作流如下:-
1.右键单击复选框->格式控制
2.单元格链接,这通常是复选框后面的单元格,您需要锚定(您可以将字体颜色设置为白色,这样它就不会显示值)
3.右键单击复选框->分配宏
4.单击“新建”
5.它显示为您创建以下代码段
Sub CheckBox2_Click()
End Sub
六,。用我之前向您展示的代码填写子项。
Sub Checkbox2_Click()
Dim chkBox As CheckBox
Set chkBox = ActiveSheet.CheckBoxes(2)
Range(chkBox.LinkedCell).Offset(3, 1).Value="Needed"
End Sub
您可以在单击复选框时尝试此操作,但它可能无法正常工作,因为一旦单击复选框,复选框将成为焦点:ActiveCell=Range(CheckBox1.TopLeftCell.Address)
不选择
。为什么只想设置公式1c1的值Activecell.Offset(3,1).Value=“Needed”
复选框是ActiveX控件还是窗体控件?@Mat'sMug它是窗体控件。更改如何插入该值的详细信息并不能真正解决我的问题。我仍然需要将复选框设为活动单元格,以便偏移量将指向正确的单元格。这并不能真正解决这个问题,但看看本网站上涉及运行时错误的一千多个问题中的任何一个,这些问题都是由选择和激活引起的,我强烈建议您“更改如何插入该值的措辞“就这么说吧,你是怎么让它开火的?我创建了一个表单复选框,单击它并取消其链接没有任何作用。不幸的是,您必须为每个已选中的复选框执行一次。@bulbus因此,如果我理解正确,我必须为电子表格中的每个复选框指定一个索引值,以使其正常工作?当您右键单击复选框上的“分配宏”时,它将自动显示子名称,如复选框2\u单击
,复选框3\u单击
,复选框4\u单击
。。。在行集合chkBox=ActiveSheet中使用相同的数字/索引。复选框(1)
我已经用您应该遵循的工作流程更新了答案。看看是否有帮助!