Olá, Roberto! Tudo bem! E com você?
Ainda não resolvi o problema. Passei o código inteiro, mas não descobri o "erro".
Segue o código do form que montei acompanhando sua aula...
'Executa o filtro para preencher o Dashborad
Private Sub cmdFiltrar_Click()
'Seleciona a base de dados filtrada com o filtro avançado
Sheets("Base Filtrada").Select
'Limpa os filtros que estão ativos no momento
Range("A2:M2").Select
Selection.ClearContents
'Preenche com os filtros digitados no form
Range("A2") = Trim(txtNomeCliente)
Range("D2") = Trim(txtValorContrato)
Range("F2") = Trim(txtPeso)
Range("G2") = Trim(cmbTipoVeiculo)
'Filtra os dados e preenche o Dashborad
FiltrarBase
Sheets("Dashboard").Select
End Sub
'Esta verificação foi adicionada para evitar filtros desnecessários
'Validação do campo Peso
Private Sub txtPeso_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Len(txtPeso) > 0 Then
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
Else
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 60 And KeyAscii <> 62 Then
KeyAscii = 0
End If
End If
End Sub
'Esta verificação foi adicionada para evitar filtros desnecessários
'Validação do campo Valor do Contrato
Private Sub txtValorContrato_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Len(txtValorContrato) > 0 Then
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
Else
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 60 And KeyAscii <> 62 Then
KeyAscii = 0
End If
End If
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
fnVeirificaVeiculoNaLista = True
End If
Next
End If
End Function