Notifications
Clear all

Variável

6 Posts
4 Usuários
0 Reactions
1,656 Visualizações
(@alvaro)
Posts: 0
New Member
Topic starter
 

Boa tarde pessoal, tudo bem com vocês?
Pessoal estou com uma dúvida e não consegui resolvê-la.. Então vim pedir ajuda.
É o seguinte.

Eu tenho um formulário com um CommandButton, dentro desse botão eu tenho o seguinte.

Private Sub CommandButton1_Click()
Dim Máximo
Máximo = Application.WorksheetFunction.CountA(Plan3.Range("B:B"))
Label15.Caption = Máximo
End Sub

O que eu queria, eu queria que tipo.. quando eu criasse um outro CommandButton .. eu pudesse chamar essa variável "Máximo" sem ter que ficar declarando toda hora.
Tem como fazer isso??

Por Exemplo: (Sem ter que ficar declarando toda hora(fazer direto))

Private Sub CommandButton3_Click()
Label1.Caption = Máximo
End Sub

Muito Obrigado pessoal, ótimo dia a vocês.

 
Postado : 20/10/2014 12:55 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Alvaro,

Boa Tarde!

Ao invés de declarar a variável dentro do procedimento CommandButton1_Click(), declare-a na área de Declarações do Formulário, como na imagem abaixo. Assim, ela ficará disponível para todos os procedimentos desse formulário.

 
Postado : 20/10/2014 1:08 pm
(@rlm)
Posts: 0
New Member
 

Ou ainda "montar" a função Máximo e chamar nos label essa função
Seria algo +/- assim, crie no modulo do formulario a função abaixo:

Private Function Maximo() As Long
Maximo = Application.WorksheetFunction.CountA(Plan3.Range("B:B"))
End Function

Para chama-la e conforme deseja

Private Sub CommandButton3_Click()
Label1.Caption = Maximo
End Sub
 
Postado : 20/10/2014 4:19 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu até ia responder, mas os dois já mataram a pau! as duas soluções são boas!

 
Postado : 20/10/2014 5:43 pm
(@alvaro)
Posts: 0
New Member
Topic starter
 

Pessoal, muitíssimo obrigado.
Funcionou perfeitamente.

 
Postado : 21/10/2014 5:56 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Como disse o Fernando, as duas soluções são boas, só tenho uma obs, pode até não ser o seu caso, mas já vi muitos relatarem erros devido a utilizar Variáveis Publicas ou Globais, a instrução que está utilizando serve para capturar a última célula preenchida, então dependendo do decorrer das demais ações o ideal é sempre limpar a Variável após executar todas as ações em que ela será chamada, fazendo isto tambem liberamos parte da memoria em que a mesma ficará alocada, evitando problemas de estouro, lógico que dependerá de quantos dados estará armazenando em memoria, mas é sempre bom prevenir.
É só uma obs, e para limpar a mesma deve se utilizar a instrução Set, ficando :

Set Máximo = Nothing

[]s

 
Postado : 21/10/2014 6:12 am