Senhores,Apos algumas leituras em materiais apresentados, aproveitei o
proprio exemplo do Guia Calc Cap. 13, que e justamente a macro
que necessito, porem ao aplica-la em minha planilha nao estou
obtendo o resultado desejavel, vejamos:Ela executa ate certo ponto corretamente, ou seja
ela filtra
os dados desejados porem nao copia os dados filtrados para uma
outra area que e o meu desejo.Tenho uma planilha onde:-os dados a serem filtrados estao
"A1:w1350" (area romeda"DADOS_DE_FILTRO")- criterios de filtro"A1352:w1353" (area
romeda"CRITERIOS_DE_FILTRO")- copiar resultado para "A1360" (area nomeda"DADOS_FILTRADOS")Alguem
poderia me ajudar ou encaminhar para algum Forum, pois
sou novo em programacao e nao estou conseguindo resolver o
problema, abaixo segue a Macro para apreciacao.Paulo
FreitasSubUsandoFiltroAvancado()DimoSheet'Uma
planilha
de um documento Calc.DimoRanges'Propriedades
NamedRanges.DimoCritRange'Intervalo
que contm o critrios de filtragem.DimoDataRange'intervalo
que contm os dados a serem filtrados.DimoFiltDesc'Definies
do filtro.REM
Intervalo
que contm os
critriosoSheet=ThisComponent.getSheets().getByIndex(1)oRanges=ThisComponent.NamedRangesoRange=oRanges.getByName("CRITERIO_DE_FILTRO")oCritRange=oRange.getReferredCells()REM
Pode-se tambm obter o
intervalo contendoREM o critrio de filtragem a
partir de um nome de intervalo.REM oRanges =
ThisComponent.NamedRangesREM oRange =
oRanges.getByName("MediaMenor80")REM oCritRange =
oRange.getReferredCells()REM Os dados que sero
filtradosoSheet=ThisComponent.getSheets().getByIndex(1)oDataRange=oSheet.getCellRangeByName("DADOS_DE_FILTRO")oFiltDesc=oCritRange.createFilterDescriptorByObject(oDataRange)oDataRange.filter(oFiltDesc)REM
Copia o resultado para um
local diferente do local original.oFiltDesc.CopyOutputData=TrueREM Coluna B, linha
4 (lembre-se,
comea em 0)REM Cria CellAddress e configura
isto para a planilha3,DimxAs
Newcom.sun.star.table.CellAddressx.Sheet=1x.Column=0x.Row=1355oFiltDesc.OutputPosition=xEnd
Sub<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->Paulo Freitas
--
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para usuarios+unsubscribe@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/
Context
- [pt-br-usuarios] Macro FILTRO AVANÇADO - Sem Acento Sem Anexo · Contabilidade - ABJJM
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.