Hola... ¿como te llamas?...

El problema que tienes es con tus índices, los campos para filtrar empiezan
a contar desde cero, por lo que tu columna RESULTADO es el campo 12 (las
columnas ocultas también cuentan)... las siguientes macros las he probado en
tus datos y funcionan bien...

Envío tu archivo a tu correo personal con las macros trabajando, veo que
están haciendo migraciones de macros de MS Office, mi recomendación es que
no traten de "trasladar" línea por línea, sino que se use solo como "guía"
para "reescribir" en OOo Basic, también procura evitar el uso del
"distpach"...

Tal vez te sean utiles los apuntes que estoy preparando...


Saludos

Mauricio

---------------------------------------------------
Aqui las macros...

Option Explicit

Sub FiltrarDatos()
Dim oHojaRC As Object
Dim oRangoCeldas As Object
Dim oDescFiltro As Object
Dim oCamposFiltro(0) As New com.sun.star.sheet.TableFilterField

    If ThisComponent.getSheets().hasByName("Reporte de Cambios") Then
        oHojaRC = ThisComponent.getSheets().getByName("Reporte de Cambios")
        oRangoCeldas = oHojaRC.getCellRangeByName("$A$2:$U$100")
        '--------------------
        oCamposFiltro(0).Field = 12
        oCamposFiltro(0).IsNumeric = False
        oCamposFiltro(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
        oCamposFiltro(0).StringValue = "Cancelado"

        oDescFiltro = oRangoCeldas.createFilterDescriptor (True)
        oDescFiltro.ContainsHeader=true
        oDescFiltro.setFilterFields ( oCamposFiltro() )
        oRangoCeldas.Filter (oDescFiltro)
    Else
        MsgBox "La hoja no existe"
    End If

End Sub

Sub MostrarTodos()
Dim oHojaRC As Object
Dim oRangoCeldas As Object
Dim oDescFiltro As Object

    If ThisComponent.getSheets().hasByName("Reporte de Cambios") Then
        oHojaRC = ThisComponent.getSheets().getByName("Reporte de Cambios")
        oRangoCeldas = oHojaRC.getCellRangeByName("$A$2:$U$100")
        oDescFiltro = oRangoCeldas.createFilterDescriptor (True)
        oRangoCeldas.Filter (oDescFiltro)
    End If
End Sub


2008/9/9 Hitomi <[EMAIL PROTECTED]>

> Quiero hacer un filtro en la columna 10 (RESULTADO ) y no lo hace, me deja
> el encabezado y me borra todo el rango de celdas seleccionadas y comienza
> con la fila 75.
>
> oCamposFiltro(0).Field = 10
> oCamposFiltro(0).IsNumeric = False
> oCamposFiltro(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
> oCamposFiltro(0).StringValue = "Cancelado"
> oDescFiltro = oRangoCeldas.createFilterDescriptor (True)
> oDescFiltro.ContainsHeader=true
> oDescFiltro.setFilterFields (oCamposFiltro())
> oRangoCeldas.filter (oDescFiltro)
>
> MariLau
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>



-- 
_______________________________
Todo lo que no es dado es perdido

Responder a