我有一个单元格A1
,其中填充了美元值,例如20000
基于 vlookup。根据找到的值,我希望选择 4 个单选按钮中的 1 个。
0-40K 40-150K 150-300K >300K
我不想创建宏(为了简单起见),而且它需要在单元格 A1 更新时进行更新。
任何帮助深表感谢!
最新代码:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D8")) Is Nothing Then
Select Case Range("D8").Value
Case 0 To 39999
revenue1.Value = True
Case 40000 To 149999
revenue2.Value = True
Case 150000 To 299999
revenue3.Value = True
Case Else
revenue4.Value = True
End Select
End If
End Sub
此外,所有单选按钮都在同一张表中。请原谅格式错误
答案1
您可以在不使用宏的情况下执行此操作,但它只能单向工作。关键是使用表单控件,而不是 ActiveX 控件。插入Option Button (Form Control)
任意数量的对象。右键单击一个对象,然后单击“设置控件格式”。在“控件”选项卡中,选择一个链接单元格。现在,该单元格的值将决定选择哪个单选按钮。如果您输入 4 个单选按钮,则单元格值将为 1、2、3 或 4。
但现在到了最困难的部分。您可以根据单元格中的值将该单元格设置为具有公式值,A1
但手动选择单选按钮将覆盖该公式。除非这是用户每次都保存主模板的新副本的模板,否则这可能不行。您仍然需要一个简短的宏来在每次单元格A1
更改时重写公式,这违背了整个目的。在这种情况下,您最好直接使用 VBA 设置单选按钮,最好使用 ActiveX 控件来完成。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Select Case Range("A1").Value
Case 0 To 39999
OptionButton1.Value = True
Case 40000 To 149999
OptionButton2.Value = True
Case 150000 To 299999
OptionButton3.Value = True
Case Else
OptionButton4.Value = True
End Select
End If
End Sub