Como selecionar botões de opção por valor de célula no Excel?

Como selecionar botões de opção por valor de célula no Excel?

Eu tenho um grupo de botões de opção com rótulos em células adjacentes. Como posso organizar o botão de opção com o rótulo correspondente a um valor de célula de destino para ativar?

Aqui está um exemplo equivalente ao que estou tentando alcançar:

insira a descrição da imagem aqui

Aqui você pode ver dois grupos de rádio: “comprador” e “destino”. Os rótulos estão na coluna A, os grupos de opções estão na coluna B e os valores alvo estão na coluna C. Os valores na coluna C são o que controlamos e queremos ativar o botão de opção correto procurando o valor do célula alvo na lista de rótulos na coluna A. Ou seja, se C2 mudou para "Interno", então queremos que o botão de opção na célula B4 seja ativado. Os botões de opção em B7 e B8 não serão afetados, pois estão em um grupo diferente.

Responder1

Você não precisa realmente ler o valor do rótulo. Você pode atribuir rótulos aos botões de opção e alterar o valor da opção selecionada dessa forma.

Você poderia chamar isso em 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

Finalizar sub

A menos que você queira dizer que o rótulo É um valor de célula adjacente ao OptionButton A célula de destino é um local de intervalo estático ou o ActiveCell atual?

Se a célula de destino estiver sempre no mesmo local, você poderá controlar a ortografia da entrada assim. insira a descrição da imagem aqui

Aqui está outra abordagem mais simples

Uma solução não macro que funciona se você puder usar fórmulas na planilha é mostrada nesta captura de tela

exemplo de botões de opção

Nomeie cada botão de opção da mesma forma que o rótulo na coluna A. Faça com que a célula vinculada seja outra célula (que pode ser exemplos ocultos em E são as fórmulas mostradas em F) nessa célula e compare a entrada fornecida a cada rótulo de célula. Apenas um deve acabar sendo VERDADEIRO (ver fórmulas de exemplo)

Assim a opção em B2 está vinculada a E2, B3 está vinculada a E3, B7 está vinculada a E7 etc. Se você tiver permissão para a coluna extra com fórmulas (e elas podem estar em qualquer lugar) isso é muito mais simples do que usar vba

informação relacionada