Olá, tranquilos? Seguinte, tentei montar um combobox para ser alimentado dinamicamente. Ele puxou as informações da DataBase, porém na hora em que adcionei um item novo, não entrou na lista do combobox. Fiz exatamente como na aula.
SCRIPT da aula:
Private Sub cmdFiltrar_Click()
Sheets("Base Filtrada").Select
Range("A2:M2").Select
Selection.ClearContents
Range("A2") = Trim(txtNomeCliente)
Range("D2") = Trim(txtValorContrato)
Range("F2") = Trim(txtPeso)
Range("G2") = Trim(cmbTipoVeiculo)
FiltrarBase
Sheets("Dashboard").Select
End Sub
Private Sub UserForm_Activate()
Dim iContador As Integer
iContador = 2
cmbTipoVeiculo.AddItem ""
Do While Sheets("Controle de Entregas").Range("G" & iContador) <> vbNullString
If Not fnVerificaVeiculoNaLista(Sheets("Controle de Entregas").Range("G" & iContador)) Then
cmbTipoVeiculo.AddItem Sheets("Controle de Entregas").Range("G" & iContador)
End If
iContador = iContador + 1
Loop
End Sub
Function fnVerificaVeiculoNaLista(pTipoDeVeiculo As String) As Boolean
Dim iContador As Integer
fnVerificaVeiculoNaLista = False
If cmbTipoVeiculo.ListCount <> 0 Then
For iContador = 0 To cmbTipoVeiculo.ListCount - 1
If cmbTipoVeiculo.List(iContador) = pTipoDeVeiculo Then
fnVerificaVeiculoNaLista = True
End If
Next
End If
End Function
Meu SCRIPT
Private Sub cmdFiltrar_Click()
Sheets("BASE_FILTRADA").Select
Range("A2:M2").Select
Selection.ClearContents
Range("D2") = Trim(txtFavorecido)
Range("E2") = Trim(txtCliente)
Range("F2") = Trim(cmbCategoria)
Range("G2") = Trim(cmbSubCategoria)
FiltrarBaseFinanceiro
Sheets("DASHBOARD").Select
End Sub
Private Sub UserForm_Activate()
Dim iContador As Integer
iContador = 2
cmbSubCategoria.AddItem ""
Do While Sheets("DB_FINANCEIRO").Range("G" & iContador) <> vbNullString
If Not fnVerificaSubCategoriaNaLista(Sheets("DB_FINANCEIRO").Range("G" & iContador)) Then
cmbSubCategoria.AddItem Sheets("DB_FINANCEIRO").Range("G" & iContador)
End If
iContador = iContador + 1
Loop
End Sub
Function fnVerificaSubCategoriaNaLista(pSubCategoria As String) As Boolean
Dim iContador As Integer
fnVerificaSubCategoriaNaLista = False
If cmbSubCategoria.ListCount <> 0 Then
For iContador = 0 To cmbSubCategoria.ListCount - 1
If cmbSubCategoria.List(iContador) = pSubCategoria Then
fnVerificaSubCategoriaNaLista = True
End If
Next
End If
End Function
Gostaria de saber o que está errado. Desde já agradeço!