Combobox  [Resolvido]

Text Box, Form's, rotinas, etc.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Combobox

Mensagempor coringa95 » Dom Jul 07, 2019 7:05 pm

Amigos, boa noite!

Estou tendo dificuldades para adicionar uma funcionalidade ao meu Userform!

O combobox referente ao ano precisa estar com as opções de selecionar de 2007 até o ano vigente e o combobox do mês com as opções até o mês atual, impossibilitando que o usuário tente fazer consultas a meses que ainda não correram este ano.

Exemplo: Ao selecionar o ano de 2009, apareçam todos os meses do ano, porém ao selecionar 2019 só apareçam os meses até julho. E as opções para anos e meses seguintes devem aparecer conforme o tempo passe.


Link para a planilha: https://drive.google.com/open?id=1sNMGn ... gxYVwMNVP8
coringa95
Membro
Membro
 
Mensagens: 7
Registrado em: Seg Jul 01, 2019 2:43 pm
Has thanked: 3 times
Have thanks: 0 time

{ SO_SELECT }

Re: Combobox e Msgbox

Mensagempor rlm » Seg Jul 08, 2019 11:28 am

Não eentendi a mensão sobre Msgbox no titulo de sua demanda.
Quanto ao Combobox
Se entendi corretamente utilize o evento abaixo para "carregar" os anos na combobox1 na abertura do formulário
Código: Selecionar todos
Private Sub UserForm_Initialize()
Dim x As Integer
For x = 2007 To Year(Date)
    Me.ComboBox1.AddItem x
Next
End Sub

Para carregar os meses ao alterar/escolher o ano :
como não foi especificado utilizei meses de 1 a 12
Código: Selecionar todos
Private Sub ComboBox1_Change()
Dim x As Integer
Me.ComboBox2.Clear
    For x = 1 To 12
        'verifica se o ano e inferior ao ano corrente
        If VBA.CInt(ComboBox1.Value) < Year(Date) Then
            Me.ComboBox2.AddItem x
        ElseIf x <= Month(Date) Then
            Me.ComboBox2.AddItem x 'se ano corrente,mes ate o corrente
        End If
    Next
End Sub
Reinaldo - RLM - Rmarco
Gostou da resposta? Clique no ícone "Positivo" da mensagem!(ao lado de citar)

For this post the author rlm thanked:
coringa95 (Seg Jul 08, 2019 1:12 pm)
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 229
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 14 times
Have thanks: 108 times

Re: Combobox e Msgbox

Mensagempor coringa95 » Seg Jul 08, 2019 1:25 pm

Rml, boa tarde!

Tinha uma dúvida também sobre a Msgbox no texto, porém consegui arrumar o código e acabei retirando do texto. A sua resposta é bem o que eu precisava, porém os meses deveriam estar por extenso (Janeiro, Fevereiro, etc.). Eu tentei modificar da forma abaixo, porém sem sucesso.
Código: Selecionar todos
Private Sub ComboBox1_Change()
Dim x As Date
x = Format(Date, "mmmm")
Me.ComboBox2.Clear
    For x = 1 To 12
        'verifica se o ano e inferior ao ano corrente
        If VBA.CInt(ComboBox1.Value) < Year(Date) Then
            Me.ComboBox2.AddItem x
        ElseIf x <= Month(Date) Then
            Me.ComboBox2.AddItem x 'se ano corrente,mes ate o corrente
        End If
    Next
End Sub
coringa95
Membro
Membro
 
Mensagens: 7
Registrado em: Seg Jul 01, 2019 2:43 pm
Has thanked: 3 times
Have thanks: 0 time

Re: Combobox  [Resolvido]

Mensagempor wagner » Seg Jul 08, 2019 2:06 pm

coringa95,

Boa tarde!

Segue minha sugestão de código:
Código: Selecionar todos
Private Sub ComboBox1_Change()
Dim x As Integer
Me.ComboBox2.Clear
    For x = 1 To 12
        'verifica se o ano e inferior ao ano corrente
        If VBA.CInt(ComboBox1.Value) < Year(Date) Then
            Select Case x
            Case 1
                Me.ComboBox2.AddItem "Janeiro" 'se ano corrente,mes ate o corrente
            Case 2
                Me.ComboBox2.AddItem "Fevereiro" 'se ano corrente,mes ate o corrente
            Case 3
                Me.ComboBox2.AddItem "Março" 'se ano corrente,mes ate o corrente
            Case 4
                Me.ComboBox2.AddItem "Abril" 'se ano corrente,mes ate o corrente
            Case 5
                Me.ComboBox2.AddItem "Maio" 'se ano corrente,mes ate o corrente
            Case 6
                Me.ComboBox2.AddItem "Junho" 'se ano corrente,mes ate o corrente
            Case 7
                Me.ComboBox2.AddItem "Julho" 'se ano corrente,mes ate o corrente
            Case 8
                Me.ComboBox2.AddItem "Agosto" 'se ano corrente,mes ate o corrente
            Case 9
                Me.ComboBox2.AddItem "Setembro" 'se ano corrente,mes ate o corrente
            Case 10
                Me.ComboBox2.AddItem "Outubro" 'se ano corrente,mes ate o corrente
            Case 11
                Me.ComboBox2.AddItem "Novembro" 'se ano corrente,mes ate o corrente
            Case 12
                Me.ComboBox2.AddItem "Dezembro" 'se ano corrente,mes ate o corrente
            End Select
        ElseIf x <= Month(Date) Then
            Select Case x
            Case 1
                Me.ComboBox2.AddItem "Janeiro" 'se ano corrente,mes ate o corrente
            Case 2
                Me.ComboBox2.AddItem "Fevereiro" 'se ano corrente,mes ate o corrente
            Case 3
                Me.ComboBox2.AddItem "Março" 'se ano corrente,mes ate o corrente
            Case 4
                Me.ComboBox2.AddItem "Abril" 'se ano corrente,mes ate o corrente
            Case 5
                Me.ComboBox2.AddItem "Maio" 'se ano corrente,mes ate o corrente
            Case 6
                Me.ComboBox2.AddItem "Junho" 'se ano corrente,mes ate o corrente
            Case 7
                Me.ComboBox2.AddItem "Julho" 'se ano corrente,mes ate o corrente
            Case 8
                Me.ComboBox2.AddItem "Agosto" 'se ano corrente,mes ate o corrente
            Case 9
                Me.ComboBox2.AddItem "Setembro" 'se ano corrente,mes ate o corrente
            Case 10
                Me.ComboBox2.AddItem "Outubro" 'se ano corrente,mes ate o corrente
            Case 11
                Me.ComboBox2.AddItem "Novembro" 'se ano corrente,mes ate o corrente
            Case 12
                Me.ComboBox2.AddItem "Dezembro" 'se ano corrente,mes ate o corrente
            End Select
        End If
    Next
End Sub
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel

For this post the author wagner thanked:
coringa95 (Seg Jul 08, 2019 2:53 pm)
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5446
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 98 times
Have thanks: 2312 times

Re: Combobox

Mensagempor coringa95 » Seg Jul 08, 2019 2:54 pm

Wagner,

Exatamente! Muito obrigado!
coringa95
Membro
Membro
 
Mensagens: 7
Registrado em: Seg Jul 01, 2019 2:43 pm
Has thanked: 3 times
Have thanks: 0 time


Voltar para Formulários

Quem está online

Usuários navegando neste fórum: Google Adsense [Bot] e 4 visitantes