Gilberto, boa noite!
A ideia é boa… O que ocorre é o seguinte: Tem setor que tem peça de 1000 até 15.000 30.000 até 60.000 Exemplo ficticio. Acredito que eu tenho seu email, vou enviar para você entender o que estou dizendo (Se você permitir enviar), talvez você tenha uma outra ideia.
Comecei a escrever uma macro… Não reparem no código, porque não sei programar e nem identação. Mas está me trazendo os resultados que eu quero.
Sub Filtro()
'Declaraçao das variáveis
Dim Cell As Object
Dim sCriterio As Variant
'Declaração da planilha
oPlanilha = ThisComponent.Sheets.getByName("Base")
oRelatorio = ThisComponent.Sheets.getByName("Relatório")
'Laço de repetição para verificar se a contém valores ou se é vazio
Do
Lin = Lin+1
oCel = oPlanilha.getCellByPosition( 1,Lin )
Loop Until oCel.String = ""
'Comparar se a coluna é diferente de vazio e exibir uma mensagem
If Lin <>"" Then
For I = 1 To Lin-1 'Laço que vai da primeira linha até a última
sCriterio = oRelatorio.getCellByPosition(1,0).String 'Obtém o valor da célula de crtitério
sCriterio2 = oRelatorio.getCellByPosition(1,1).String
sCriterio3 = oRelatorio.getCellByPosition(1,2).String
sCriterio4 = oRelatorio.getCellByPosition(1,3).String
oValorCellA = oPlanilha.getCellByPosition(0,I).String 'Obtém o valor da célula
oValorCellB = oPlanilha.getCellByPosition(1,I).String
oValorCellC = oPlanilha.getCellByPosition(2,I).String
'Compara se o valor da celula A é Igual o Critério da Coluna E2
If oValorCellA = sCriterio And oValorCellB = sCriterio2 And oValorCellC >= sCriterio3 And oValorCellC <= sCriterio4 Then
oPlanilha.getCellByPosition(10,I).String = sCriterio'Cola o dados na planilha
End If
Next
End If
End Sub