Pergunte aqui
1

Filtra campos vazios

perguntadas 2019-04-09 04:01:32 +0200

imagem do gravatar de fabiianoo

updated 2019-04-09 12:33:04 +0200

Boa noite galera, preciso de uma ajuda. Alguém consegue me dizer como fica o macro abaixo no libre office?

Sub filtraVazio()
    Worksheets("Planilha").Range("$B$3:$D$7").AutoFilter Field:=3, Criteria1:="<>"
End Sub

Preciso filtrar os campos vazios automaticamente, se alguém puder dar uma força, eu agradeço.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

0

respondidas 2019-04-09 15:01:38 +0200

imagem do gravatar de Conrado

updated 2019-04-10 12:51:49 +0200

Olá @fabiianoo

Segue um exemplo.

Na macro tem as fontes de onde fiz a rotina

Arquivo

Alteração para encontrar valores em branco.

Sub FiltrarColunaA()

    Dim oSheet as object
    Dim oDataRange as object
    Dim oFiltre as object
    Dim oFilterField(0) As New com.sun.star.sheet.TableFilterField
    Dim Filtro as String

        oSheet = ThisComponent.Sheets.getByName("Planilha1") 'Nome da sua aba
        oDataRange = oSheet.getCellRangeByName("A1:C6") 'Sua Range que queira filtrar

        oFiltre = oDataRange.createFilterDescriptor(true) 'comando para criar o método filtro
        oDataRange.filter(oFiltre)  'Limpa os filtros

        Filtro = ""

        With oFiltre                                    
            .ContainsHeader = true 'Informa que contém cabeçalho
            .UseRegularExpressions = true 'comando para informar que está utilizando expressões regulares
        End with

        With oFilterField(0)
            .Field = 0 'Número da coluna que vai aplicar o filtro: A = 0, B = 1 ...
            .IsNumeric = False 'Informa se o filtro é número ou texto (string)
            .Operator = com.sun.star.sheet.FilterOperator.EQUAL 'Operação do filtro
            .StringValue = Filtro '"*" & Filtro & "*" 'Caso queira filtrar algo específico
        End with    

                'Comando para execução do filtro
                oFiltre.setFilterFields(oFilterField()) 
                oDataRange.filter(oFiltre)

End sub
editar assinalar como ofensivo Excluir Link mais

Comentários

Pra filtrar células vazias, eu alteraria a linha abaixo?

****'.StringValue = ".*" & Filtro & ".*" 'Caso queira filtrar algo específico****
imagem do gravatar de fabiianoofabiianoo ( 2019-04-10 04:08:51 +0200 )editar

Ficaria assim. Alterado o Filtro e a Operação

Veja resposta acima editada.

imagem do gravatar de ConradoConrado ( 2019-04-10 12:51:11 +0200 )editar
0

respondidas 2019-04-09 12:50:24 +0200

updated 2019-04-09 13:02:57 +0200

Ola @fabiianoo, seja bem vindo ao Grupo.

Sua macro é para ocultar linhas com células em branco na coluna D, é isso, se SIM inclua esta informação no inicio no modulo antes da macro.

' Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Option Explicit

Aqui o teste funcionou...


Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

Exatamente isso, preciso ocultar as células com o valor em branco da coluna D. Porém não funcionou isso que passou :/

imagem do gravatar de fabiianoofabiianoo ( 2019-04-10 04:07:14 +0200 )editar

Testou com o arquivo de teste que enviei ?

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-04-10 14:16:36 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-04-09 04:01:32 +0200

Lidas: 24 vezes

Última atualização: Apr 10