我有一组单选按钮,其标签位于相邻单元格中。如何安排激活标签与目标单元格值匹配的单选按钮?
这是一个与我想要实现的目标等效的例子:
在这里,您可以看到两个单选按钮组:“买家”和“目的地”。标签位于 A 列,单选按钮组位于 B 列,目标值位于 C 列。C 列中的值是我们控制的,我们希望通过在 A 列的标签列表中查找目标单元格的值来激活正确的单选按钮。也就是说,如果 C2 更改为“内部”,那么我们希望激活单元格 B4 中的单选按钮。B7 和 B8 中的单选按钮不会受到影响,因为它们位于不同的组中。
答案1
您无需实际读取标签值。您可以将标签分配给选项按钮,然后通过这种方式更改所选选项的值。
您可以在 Worksheet_SelectionChange 上调用此方法
Sub reflectCell()
Dim targetedCell As String
targetedCell = Range("A1").Text
Select Case UCase(targetedCell)
Case "RED"
ActiveSheet.OptionButton1.Value = True
Case "BLUE"
ActiveSheet.OptionButton2.Value = True
Case "GREEN"
ActiveSheet.OptionButton3.Value = True
End Select
子目录结束
除非您的意思是标签是与 OptionButton 相邻的单元格值,否则目标单元格是静态范围位置还是当前 ActiveCell?
如果目标单元格始终位于同一位置,您可以像这样控制输入拼写。
这是另一种更简单的方法
此屏幕截图显示了一个非宏解决方案,如果您可以在工作表上使用公式,该解决方案就会起作用
将每个选项按钮命名为与 A 列中的标签相同的名称,使其链接的单元格为另一个单元格(可以隐藏,E 中的示例是 F 中显示的公式),在该单元格中比较您提供给每个单元格标签的输入。只有一个应该最终为 TRUE,(参见示例公式)
因此,B2 中的选项链接到 E2,B3 链接到 E3,B7 链接到 E7 等。如果允许使用带有公式的额外列(它们可以位于任何地方),这比使用 vba 要简单得多