Bom dia, rlm.
Mais uma vez eu com minhas duvidas mirabolante, agora estou tentando fazer com que a Page " Ano / Mes ", no ComboBoxAno fique com valor distinct e que o ComboBoxMes carregue de acordo com o ComboBoxAno, até tentei utilizar a mesma ideia do Page " Cliente ", mas não tive muito sucesso.
Tentei montar com SQL, mas o ano esta repetindo varias vezes, usei o seguinte código:
'CHAMAR O SQL PARA CARREGAR O COMBOBOX
Private Sub UserForm_Initialize()
PopularControleAno ComboBoxAno, ThisWorkbook.Sheets("BANCO_DADOS").Columns("B")
End Sub
'CARREGAR O ANO DISTINCT DENTRO DO COMBO
Private Sub PopularControleAno(ctrl As msforms.control, rngSource As Range)
'ctrl pode ser um controle ComboBox ou ListBox
'Use , de preferência colunas inteiras como parâmetro rngSource.
Dim sSql As String
Dim sPlanilha As String
Dim sCampo As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
sPlanilha = "[" & rngSource.Parent.Name & "$]"
sCampo = "[" & rngSource.Range("A1") & "]"
sSql = ""
sSql = sSql & " " & "SELECT DISTINCT " & sCampo
sSql = sSql & " " & "FROM " & sPlanilha
sSql = sSql & " " & "WHERE " & sCampo & " IS NOT NULL"
Set rs = cn.Execute(sSql)
ctrl.Clear
Do While Not rs.EOF
ctrl.AddItem Format(CDate(rs.Fields(0)), "YYYY")
rs.MoveNext
Loop
rs.Close
End Sub
' CARREGA O MES CONFORME O ANO SELECIONA
Private Sub CarregaMes(ByVal Categoria As String)
Dim Linha As Integer, ColunaProduto As Integer, ColunaCategoria As Integer
Linha = 2
ColunaProduto = 2
ColunaCategoria = 1
Me.ComboBoxMes.Clear
With Sheets("BANCO_DADOS")
Do While Not IsEmpty(.Cells(Linha, ColunaProduto))
If .Cells(Linha, ColunaCategoria).Value = Categoria Then
Me.ComboBoxMes.AddItem .Cells(Linha, ColunaProduto).Value
End If
Linha = Linha + 1
Loop
End With
End Sub
Tentei realizar conversão nas data, pra ver se mudava, mas sem sucesso...
Para melhor entendimento, segue o arquivo:
Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.
Postado : 28/11/2014 9:12 am