Notifications
Clear all

vincular OptionButton na celula a um valor no vba

6 Posts
2 Usuários
0 Reactions
1,557 Visualizações
(@xman2000)
Posts: 0
New Member
Topic starter
 

Olá Colegas!

desejo fazer referencia a um BotaodeOpção que está numa celula, a um codigo vba, e
definir esse valor como valor de uma celula.

Por exemplo: nome do botao: OptJPG; valor quando clickado: "*.JPG",
celula: "K1"; valor da celula = valor.OPTJPG, que é "*.JPG",

codigo abaixo que dá erro de sintaxe:

With Sheets("Arqs")
if Sheets("Arqs").Shape(optJPG).Value = "*.jpg"
Sheets("Arqs").Range("k1").Value = "*.jpg"
End With

 
Postado : 16/07/2015 6:54 pm
(@edcronos)
Posts: 1006
Noble Member
 

não entendi muito bem oq vc quer, mas
use ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column

Sub APL_Sobe()

cs = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column

End Sub

pesquise sobre
TopLeftCell
Application.Caller

 
Postado : 16/07/2015 7:00 pm
(@xman2000)
Posts: 0
New Member
Topic starter
 

Olá EdCronos!

tá difícil de achar um exemplo porque quase todos sao sobre controles no formulario, e eu estou usando direto na celula.
achei muito dificil o seu exemplo.
já faz 3 dias que estou nesse assunto e estou cansado.

eu tenho um BotãodeOpoção pra cada formato de arquivo (mp3, jpg, gif) e quero que ao clickar nele esse retorne esse valor,
e esse valor fique gravado no vba e do vba vá para uma celula.

não sei como referenciar o objeto OptionButton que esta direto na celula, se fosse num formulario acho que seria facil.

 
Postado : 16/07/2015 7:20 pm
(@xman2000)
Posts: 0
New Member
Topic starter
 

Eu acabei de descobrir que o comportamento dos activex que estão na caixa de ferramentas é diferente.
vou usar agora os controles de Forms, mesmo nao estando num form, pois eles permitem editar propriedades clickando com o botao direito.
nao resolve a parada, mas já adianta.
abraço.

 
Postado : 16/07/2015 7:27 pm
(@edcronos)
Posts: 1006
Noble Member
 

tente algo como

Sub valorcell()
cs = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column
rs = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
ns = ActiveSheet.Shapes(Application.Caller).Name

MsgBox "o nome do botão é " & ns & "   o valor da celula é   >>>  " & Cells(rs, cs).Value
End Sub

coloque varios botões e adicione essa macro
coloque valores nas celulas onde estão os botões

cs = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column
vai indicar a coluna da celula que o lado esquerdo e parte de cima do botão está

ns = ActiveSheet.Shapes(Application.Caller).Name
vai retornar o nome do botão que foi precionado

 
Postado : 16/07/2015 7:39 pm
(@xman2000)
Posts: 0
New Member
Topic starter
 

Olá Edcronos!
vou tentar mais tarde, mas acho que ainda não dá.
eu quero fazer um exemplo de um unico BotaoOpção, que ao ser clicado, assume um valor, e depois, uma macro atribui esse valor a uma celula.
estou começando a testar os activex de formulario que sao diferentes dos outros activex que aparecem na caixa de ferramentas.
abraço.

 
Postado : 16/07/2015 7:55 pm