Notifications
Clear all

como chamar 1 combo box?

2 Posts
2 Usuários
0 Reactions
666 Visualizações
(@bruno2014)
Posts: 0
New Member
Topic starter
 

Bom dia.
chamo-me Bruno e, embora esteja à vontade no excel, sou um básico no vba, mas estou encantado com as suas possibilidades.

bem... agora que me apresentei gostaria de saber se me podem ajudar, pelo que lanço este desafio:

imaginem que tenho o ficheiro exper.xlsm
na sheet1,célula b5, tenho 1 combobox com 4 opções:
1.snack
2.refeição
3.sandes
4.não comi

independentemente do que esteja a fazer (trabalhar em word, ou outra coisa), o excel vai enviar uma mensagem para o ecrã: "o que comeu?", e abre a combo box (num form ou no próprio excel). respondo e ele arquiva a resposta e a hora nas células b6 e c6, após "empurrar" para baixo (b7 e c7) a anterior b6 e c6.

Depois desaparece. Passados 60 minutos, volta a perguntar e assim por diante enquanto o pc estiver ligado. no fim do dia tenho o registo das ocorrencias todas.

disto tudo, só sei gravar os registos em b5 e armazená-los em b6, b7, etc.

É fácil?? só se for para vocês.

por favor ajudem-me porque gostaria de fazer uma surpresa a um familiar que diz que não come nada. Eu penso que não se lembra...

muito obrigado a quem se interessar.
um grande abraço
bruno

 
Postado : 13/10/2014 7:39 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Vc precisa usar o comando OnTime

Faça um userform com a mensagem e o combobox.

Considerando que o nome do teu userform seja Userform1

Em EstaPasta_de_Trabalho, coloque:

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:05"), "ChamaUserForm"
End Sub

Em um módulo, coloque:

Sub ChamaUserForm()
UserForm1.Show
End Sub

E no userform (duplo clique nele), coloque:

Private Sub UserForm_Terminate()
Application.OnTime Now + TimeValue("00:00:05"), "ChamaUserForm"
End Sub

Note, porém, que eu deixei 5 segundos de intervalo pra poder testar. Depois de tudo certo, corrija para 1 hora = Timevalue("01:00:00")

Abs

 
Postado : 13/10/2014 8:20 pm