Notifications
Clear all

Publicar Constante

6 Posts
1 Usuários
0 Reactions
1,235 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caros, olá!

Coisa simples...

Tenho um UserForm que tem 2 OptionButton e o CommandButton que habilita o OptionButton selecionado. Dependendo do OptionButton selecionado, ele define uma constante chamada "QUINZENA" conforme código abaixo:

Private Sub BotaoOK_Click()

With Me
     
    If _
    OptionButton1 Then
         
        QUINZENA = "1ª quinzena"

            Call PREFATURA.TROCAR_MES
            Call PREFATURA.BASEPRE

    ElseIf _
    OptionButton2 Then
    
        QUINZENA = "2ª quinzena"
        
        Call PREFATURA.BASEPRE

    End If

End With

End Sub

Quando chamo uma macro após, no caso "Call PREFATURA.BASEPRE", gostaria de usar a constante "QUINZENA" definida. Mas se eu chamá-la simplesmente, ela aparece "Vazia"

Como faço isso?

Grato.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/08/2012 2:21 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Declare a variavel no inicio do modulo, for de qq sub.

Dim Quinzena as string (por exemplo).

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/08/2012 6:38 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Declare a variavel no inicio do modulo, for de qq sub.

Reinaldo, agradeço o apoio... Mas não entendi como faço isso.

Pode me esclarecer melhor?

Por exemplo, se o OptionButtun for Quinzena2, como trago a QUINZENA = "2ª quinzena para a macro "TESTE"?

Private Sub BotaoOK_Click()

Dim QUINZENA As String

With Me
     
    If _
    Quinzena1 Then
         
        FORMBASE.Hide
        QUINZENA = "1ª quinzena"
        Call PREFATURA.BASEPRE

    ElseIf _
    Quinzena2 Then
    
        FORMBASE.Hide
        QUINZENA = "2ª quinzena"
        Call TESTE

    End If

End With

End Sub

Sub TESTE()

Dim QUINZENA As String

MsgBox QUINZENA

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/08/2012 6:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpem, desconsiderem a postagem acima... Entendi Reinaldo:

Public QUINZENA As String

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/08/2012 6:58 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

É, na verdade não resolveu 100%.

Eu constante "QUINZENA" é definida em um UserForm dependendo do OptionButton selecionado... Porém, se na continuação eu chamar uma macro "Call Macro" dentro do UserForm, o valor "QUINZENA" vem, mas se minha macro estiver em um outro módulo, ele não vem.

Como publico a constante quinzena, para todos os módulos.

Public QUINZENA As String
Private Sub BotaoOK_Click()

    With Me

        If _
        Quinzena1 Then

            FORMBASE.Hide
            QUINZENA = "1ª quinzena"
            Call PREFATURA.BASEPRE

        ElseIf _
        Quinzena2 Then

            FORMBASE.Hide
            QUINZENA = "2ª quinzena"
            Call PREFATURA.BASEPRE

        End If

    End With

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/08/2012 7:59 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Experimente declarar a variavel em um modulo, e não no form1.
( http://www.vbmania.com.br/pages/index.p ... rID=325001)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/08/2012 8:06 am