Sou iniciante em VBA, e estou com dificuldades em criar uma estrutura que aceite várias condições (Option Button), para um filtro, como segue abaixo:
Sub ConsultaDados(ByVal formulario As UserForm)
'declaração do objeto ws para a aba Dados
Dim ws As Worksheet: Set ws = Planilha24
'identificação da posição da coluna que deseja filtrar
Dim colunaFiltro As Byte: colunaFiltro = Application.WorksheetFunction.Match(formulario.ComboBoxCampos.Text, ws.Range("A3:D3"), 0)
'variável de controle para o for
Dim i As Integer
'definição do valor a ser filtrado
Dim valorFiltro As String: valorFiltro = UCase(formulario.TextBoxFiltro.Text)
'definição da seção selecionada
'............... AQUI QUE NÃO ESTOU CONSEGUINDO AJUSTAR PARA ACEITAR MAIS OPTION BUTTON/CONDIÇÕES ................
Dim secao As String: secao = IIf(formulario.OptionButton1.Value = -1, formulario.OptionButton1.Caption, _
formulario.OptionButton2.Caption)
'............................... FIM DO PROCEDIMENTO ......................................
'AQUI COMEÇA O PROCEDIMENTO PARA FILTRAR OS DADOS DA LISTBOX VIA TEXTBOX DE ACORDO COM O OPTION BUTTON SELECIONADO...
'limpeza da listagem
formulario.ListBoxLista.Clear
'estrutura de repetição que irá varrer toda a tabela em busca dos valores
For i = 4 To ws.Range("A1048576").End(xlUp).Row
'se a célula da coluna pesquisada tiver alguma coisa relacionada com o campo de pesquisa e for igual a seção escolhida, então, preencher com o conteúdo informado.
If ws.Cells(i, colunaFiltro) Like "*" & valorFiltro & "*" And ws.Cells(i, 4) = secao Then
With formulario.ListBoxLista
.AddItem
.List(.ListCount - 1, 0) = ws.Cells(i, 1)
.List(.ListCount - 1, 1) = ws.Cells(i, 2)
.List(.ListCount - 1, 2) = ws.Cells(i, 3)
.List(.ListCount - 1, 3) = ws.Cells(i, 4)
End With
End If
Next i
End Sub
Tentei pelo If then Else e Select Case, mas sempre acusam erros que não consigo solucionar.
Já existe um código que consolida os botões com a ListBox... A minha dificuldade está em ajustar o código do filtro, para aceitar varias condições/botões de opção. Já que estão apenas as opções 1 e 2.
Pergunta
EAM2021
Boa noite,
Sou iniciante em VBA, e estou com dificuldades em criar uma estrutura que aceite várias condições (Option Button), para um filtro, como segue abaixo:
Tentei pelo If then Else e Select Case, mas sempre acusam erros que não consigo solucionar.
Já existe um código que consolida os botões com a ListBox... A minha dificuldade está em ajustar o código do filtro, para aceitar varias condições/botões de opção. Já que estão apenas as opções 1 e 2.
Não sei se deu para entender...
Cordialmente,
Elane
Ortografia
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.