Notifications
Clear all

Atribuir macro via código VBA

5 Posts
2 Usuários
0 Reactions
1,029 Visualizações
(@gil-mouse)
Posts: 0
New Member
Topic starter
 

Salve galera!

Estou ficando louco procurando a solução para o meu dilema na internet e até agora não achei absolutamente nada! Eu criei uma tabela que vai servir como "lista de tarefas", onde ao preencher uma célula qualquer com um dado qualquer, na célula imediatamente à sua direita é criado um CheckBox.

Como esse CheckBox é criado via VBA e não manualmente, preciso atribuir uma SUB a ele também via VBA, de preferência no momento da sua criação. Não importa quantos CheckBoxes terei na minha planilha, o código para todos eles será o mesmo - que já está escrito e definido como Sub CHECA( ).

Eis a questão: como atribuir uma macro a um objeto via VBA? Dá pra fazer isso?

Valew galera!

 
Postado : 04/01/2015 6:58 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Use a pesquisa do fórum!!

Poste seu arquivo modelo!

Att

 
Postado : 04/01/2015 7:17 pm
(@gil-mouse)
Posts: 0
New Member
Topic starter
 

Ok, aí vai minha planilha com o que eu fiz até agora.

No código já está tudo certinho para criar os CheckBoxes. Eu emperrei agora é no passo seguinte: atribuir uma macro a cada CheckBox criado, via código mesmo.

Todas as macros serão a mesma, só vai mudar o CheckBox...

Confundi ou expliquei? :cry:

 
Postado : 04/01/2015 7:33 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Mas o que a rotina vai fazer, após clicar no CheckBox?

Att

 
Postado : 04/01/2015 8:27 pm
(@gil-mouse)
Posts: 0
New Member
Topic starter
 

Bom dia Alexandre.

Obrigado por tentar me ajudar, mas pensei fora da caixinha e encontrei uma solução. Abandonei as CheckBoxes e vou fazer de um jeito diferente, que vai dar o mesmo resultado. ;)

Mas respondendo a sua pergunta, ela faria algo bem simples: como é uma lista de tarefas, ao clicar no CheckBox eu estaria dizendo que "esta tarefa foi cumprida". Assim, a rotina simplesmente iria mudar a cor da fonte de toda a linha para cinza claro e o estilo para "tachado". Só isso.

Ao invés disso resolvi o problema usando um "Worksheet_SelectionChange(...)", onde eu abandono o CheckBox e faço o que eu queria simplesmente clicando sobre a tarefa. :D

Obrigado pela ajuda!

 
Postado : 05/01/2015 8:42 am