如何在 Excel 中通过单元格值选择单选按钮?

如何在 Excel 中通过单元格值选择单选按钮?

我有一组单选按钮,其标签位于相邻单元格中。如何安排激活标签与目标单元格值匹配的单选按钮?

这是一个与我想要实现的目标等效的例子:

在此处输入图片描述

在这里,您可以看到两个单选按钮组:“买家”和“目的地”。标签位于 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 要简单得多

相关内容