Macro filtro avançado calc sem retornar formatos

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
1 Like

Poste a Macro.

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,

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.

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.