Pergunte aqui
0

Macro filtro avançado calc sem retornar formatos

perguntadas 2018-06-08 13:44:53 +0200

imagem do gravatar de Júnio Vieira

updated 2018-06-20 20:28:03 +0200

Bom dia,

Pessoal uma das macros que mais utilizo é a do filtro avançado, porém quando ela retorna os dados também traz os formatos, alguém saberia como utiliza-la para retornar apenas valores sem os formatos. Outro detalhe é que no excel caso eu coloque apenas uma coluna na planilha onde os dados serão colados, ele retorna apenas aquela coluna, já no calc ele retorna todas as colunas do intervalo, é possível fazer como no excel.

Obrigado!

Segue macro que utilizo:

Sub FiltroAvancado()

'Variáveis para utilizar o filtro
Dim oDoc As Object, oPlanAtiva As Object, oPlan2 As Object
Dim oIntervalo As Object, oCriterios As Object
Dim oDestino As Object, oFiltro As Object

    'Prepara para executar o filtro 
    oDoc = ThisComponent
    oPlanLacuna = oDoc.Sheets.getByName( "Lacuna" )
    oPlanColaBI = oDoc.Sheets.getByName( "ColaBIUlt3Meses" )
    oPlanFiltro = oDoc.Sheets.getByName( "Filtro" )

    oIntervalo = oPlanColaBI.getCellRangeByName( "A2:D20000" )
    oCriterios = oPlanFiltro.getCellRangeByName( "P1:S2" )
    oDestino = oPlanFiltro.getCellRangeByName( "A3" )

    oFiltro = oCriterios.createFilterDescriptorByObject( oIntervalo )
    oFiltro.CopyOutputData = True
    oFiltro.OutputPosition = oDestino.CellAddress
    oFiltro.ContainsHeader = True

   'Executa o filtro
    oIntervalo.Filter( oFiltro )

End Sub
editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Poste a Macro.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-06-08 14:27:23 +0200 )editar

1 Resposta

0

respondidas 2018-06-24 16:31:49 +0200

imagem do gravatar de Grafeno

Bom dia,


Pelo que eu entendo do filtro avançado do Calc, ele sempre retorna com formato. Mas você pode contornar isso acrescentando linhas de código que vão apagá-lo. Por exemplo:

' Apagar apenas a formatação direta '
oPlanFiltro.getCellRangeByName( "A3:D20001" ).clearContents( 32 )

Com relação ao outro detalhe, o resultado leva em conta as colunas que você selecionar. Se quiser o retorno de apenas uma delas, imagino que seja preciso entrar no filtro apenas com ela selcionada.


Atte,

editar assinalar como ofensivo Excluir Link mais

Comentários

Bom dia, agradeço pela ajuda, porém gostaria que o filtro retornasse sem formato porque onde será colado os dados já está com uma formatação previamente configurada e desejo mantê-la. Quanto ao retorna apenas a coluna que quero, preciso que retorne por exemplo a 1ª e a 4ª coluna entre 4 colunas, porém o filtro me retorna as quatro colunas que fazem parte intervalo, no excel por exemplo posso selecionar varias e ele retorna apenas a que eu escolher.

imagem do gravatar de Júnio VieiraJúnio Vieira ( 2018-07-11 15:06:10 +0200 )editar

Boa noite, diante dessas diferenças de funcionamento entre o Calc e Excel, é preciso aumentar os passos (tarefas) da macro. Se vc postar um arquivo de exemplo com o que quer, é possível a gente tentar alguma solução.

imagem do gravatar de GrafenoGrafeno ( 2018-07-11 23:22:30 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-06-08 13:44:53 +0200

Lidas: 39 vezes

Última atualização: Jun 24