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


1

Eu tenho um grupo de botões de rádio com rótulos nas células adjacentes. Como posso organizar o botão de opção com a etiqueta 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 rádio estão na coluna B e os valores de destino estão na coluna C. Os valores na coluna C são os que controlamos e queremos ativar o botão de opção correto procurando o valor do célula de destino na lista de rótulos na coluna A. Ou seja, se C2 mudou para "Interno", 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.


Então, só para ficar claro; quando o usuário clica no LABEL, você quer que o botão RADIO seja ativado.
— zackrspv

Não, queremos que o botão de opção seja ativado quando o valor na célula de destino for alterado para corresponder ao rótulo. (não o OP, mas sentou ao lado dele :-))
— regularfry

Respostas:


2

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

Você poderia chamar isso no 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 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 for sempre a mesma localização, você poderá controlar a ortografia de entrada dessa maneira. 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 Peça que sua célula vinculada seja outra célula (os exemplos ocultos em E são as fórmulas exibidas em F) nessa célula que comparam a entrada fornecida a cada rótulo de célula. Apenas um deve acabar sendo VERDADEIRO (veja exemplos de fórmulas)

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


Desculpe, eu deveria ter sido mais claro. Sim, os rótulos são valores de células. o destino é um local de intervalo estático. Recebemos uma planilha "padrão do setor" projetada para entrada humana nesse formato e há um limite para o quanto podemos alterar. Estamos apenas tentando automatizar o "clique" no botão de opção correto.
— user116587

Alguma chance de ver uma pequena foto, até algumas células? Pode haver dezenas de células e apenas um item será selecionado entre eles? Você quer dizer que quando você diz que eles são um grupo de botões de rádio, apenas um pode selecionar no grupo, certo?
— datatoo

Atualizei a questão com um link para um exemplo, se isso for mais claro. Em geral, haverá apenas alguns botões de rádio por grupo, mas há muitos grupos.
— user116587

Esta é uma forma que muda? Como as entradas são feitas na coluna C? Quantos grupos você tem no total?
— datatoo

Ah, então as células ligadas são bidirecionais! Obrigado, é exatamente isso que eu estava procurando.
— user116587
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.