Tengo un problema con un filtro usando macros.
Quiero filtrar la columna 3 de un rango llamado "campo", el problema es que las celdas de la columna 3 a filtrar tiene una formula, ese resultado cuando resulta en "NO", no lo debe contener en el filtro.
He probado escribiendo "NO" manualmente (sin que sea la formula quien de el resultado y la macro que a continuación escribo, me funciona perfecto.
Mi pregunta es: ¿Cómo puedo hacer para que mi macro funcione cuando las celdas a filtrar contienen una fórmula como resultado a filtrar.
Un saludo y gracias.
Código: Seleccionar todo
Sub Filtro()
Dim oDoc As Object
Dim oRangosBD As Object
Dim sNombre As String
Dim oRBD As Object
Dim oDesFiltro As Object
Dim mCamposFiltro(0) As New com.sun.star.sheet.TableFilterField
oDoc = ThisComponent
oRangosBD = oDoc.DataBaseRanges()
sNombre = "campo"
oRBD = oRangosBD.getByName( sNombre )
oDesFiltro = oRBD.getFilterDescriptor()
'El campo por el que queremos filtrar
mCamposFiltro(0).Field = 2
'El tipo de comparación
mCamposFiltro(0).Operator = com.sun.star.sheet.FilterOperator.NOT_EQUAL
'Si es un número
mCamposFiltro(0).IsNumeric = FALSE
'El valor de comparación
mCamposFiltro(0).StringValue = "NO"
'Le pasamos los campos
oDesFiltro.FilterFields = mCamposFiltro
'Refrescamos el rango para ver el resultado del filtro
oRBD.refresh()
MsgBox "Listo"
End Sub