Tengo un grupo de botones de opción con etiquetas en celdas adyacentes. ¿Cómo puedo hacer que se active el botón de opción con la etiqueta que coincide con un valor de celda objetivo?
Aquí hay un ejemplo equivalente a lo que estoy tratando de lograr:
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 objetivo están en la columna C. Los valores en la columna C son los que controlamos y queremos activar el botón de radio correcto buscando el valor del 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 opción en la celda B4. Los botones de opción en B7 y B8 no se verán afectados ya que están en un grupo diferente.
Respuesta1
No es necesario leer 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.
Podrías llamar a esto en 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
Subtítulo final
A menos que quiera decir que la etiqueta ES un valor de celda adyacente al botón de opción. ¿La celda de destino es una ubicación de rango estática o la celda activa actual?
Si la celda de destino siempre está en la misma ubicación, puede controlar la ortografía de entrada de esta manera.
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.
Nombra cada botón de opción de la misma manera que la Etiqueta en la columna A. Haz que su celda vinculada sea otra celda (que puede estar oculta, los ejemplos en E son las fórmulas que se muestran en F). En esa celda, compara la entrada que proporcionas a cada etiqueta de celda. Solo uno debería 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.