¿Cómo seleccionar botones de radio por valor de celda en Excel?

1

Tengo un grupo de botones de radio con etiquetas en celdas adyacentes. ¿Cómo puedo hacer que se active el botón de opción con la etiqueta que coincida con un valor de celda objetivo?

Aquí hay un ejemplo equivalente a lo que estoy tratando de lograr:

enter image description here

Aquí, puedes ver dos grupos de radio: "comprador" y "destino". Las etiquetas están en la columna A, los grupos de radio están en la columna B y los valores de destino en la columna C. Los valores en la columna C son lo que controlamos, y queremos activar el botón de opción correcto buscando el valor de celda de destino en la lista de etiquetas en la columna A. Es decir, si C2 cambió a "Interno", entonces queremos que se active el botón de radio en la celda B4. Los botones de radio en B7 y B8 no se verán afectados ya que están en un grupo diferente.

user116587
fuente
Así que, para ser claros; cuando el usuario hace clic en la ETIQUETA, desea que se active el botón RADIO.
zackrspv
No, queremos que el botón de radio se active cuando el valor en la celda objetivo cambie para coincidir con la etiqueta. (No el OP, pero se sentó junto a él :-))
regularfry

Respuestas:

2

No necesitas leer realmente el valor de la etiqueta. Puede asignar las etiquetas a los botones de opción y cambiar el valor de la opción seleccionada de esa manera.

Puede llamar a esto en el 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

End Sub

A menos que quiera decir que la etiqueta ES un valor de celda adyacente al OptionButton ¿Es la celda objetivo una ubicación de rango estático o el ActiveCell actual?

Si la celda objetivo es siempre la misma ubicación, puede controlar la ortografía de entrada de esta manera. enter image description here

Aquí hay otro enfoque más simple.

En esta captura de pantalla se muestra una solución no macro que funciona si puede usar fórmulas en la hoja.

option buttons example

Nombra cada botón de opción igual que la Etiqueta en la columna A Haga que su celda vinculada sea otra celda (los ejemplos que se pueden ocultar en E son las fórmulas que se muestran en F) en esa celda, haga que compare la entrada que proporcione a cada etiqueta de celda. Solo uno debe terminar siendo VERDADERO, (ver fórmulas de ejemplo)

Por lo tanto, la opción en B2 está vinculada a E2, B3 está vinculada a E3, B7 está vinculada a E7, etc. Si se le permite la columna adicional con fórmulas (y pueden estar en cualquier lugar) esto es mucho más simple que usar vba

datatoo
fuente
Lo siento, debería haber sido más claro. Sí, las etiquetas son valores de celda. el objetivo es una ubicación de rango estático. Hemos recibido una hoja de cálculo "estándar de la industria" diseñada para aportes humanos en este formato, y hay un límite en cuanto a cuánto podemos cambiar. Solo estamos tratando de automatizar "hacer clic" en el botón de opción correcto.
user116587
¿Alguna posibilidad de ver una imagen pequeña, incluso un par de celdas? ¿Podría haber docenas de celdas y solo se seleccionará un elemento entre ellas? Quiere decir que cuando dice que son un grupo de botones de opción, solo uno puede seleccionar en el grupo, ¿verdad?
datatoo
He actualizado la pregunta con un enlace a un ejemplo si eso lo hace más claro. En general, solo habrá unos pocos botones de radio por grupo, pero hay muchos grupos.
user116587
¿Es esta una forma que cambia? ¿Cómo se hacen las entradas en la columna C? ¿Cuántos grupos tienes en total?
datatoo
Ah, entonces las celdas enlazadas son bidireccionales! Gracias, eso es exactamente lo que estaba buscando.
user116587