VBA – Filtros en hoja Excel

A veces nos puede interesar automatizar filtros con una macro. Por ejemplo cuando tenemos la hoja protegida con contraseña (si el usuario no la conoce, no podrá aplicar filtros). Se puede preparar un Userform con varios Combobox para dar la posibilidad al usuario de establecer los filtros que necesite para tratar la información de la hoja de cálculo.

Muestro un ejemplo de cómo aplicar varios filtros al pulsar un botón:

VB
Private Sub CommandButton1_Click()

'¡Cuidado!: Criteria1 -> 1=uno, no confuncir con L
'Vamos a filtrar los nombre distintos a Carlos,
'de edades igual a 12 o 33 años

ActiveSheet.Range("A1:C11").AutoFilter _
Field:=1, _
Criteria1:="<>" & "Carlos", _
Visibledropdown:=False, _
Operator:=xlFilterValues

ActiveSheet.Range("A1:C11").AutoFilter _
Field:=3, _
Criteria1:=Array("12", "33"), _
Visibledropdown:=False, _
Operator:=xlFilterValues

'Field:= -> Indicar el nº de columna por la que queremos filtrar
'Visibledropdown:=False -> No muestra la flecha (filtro) en la cabecera

  'XlAutoFilterOperator:
'xlAnd -> 1 -> Logical AND of Criteria1 and Criteria2
'xlBottom10Items -> 4 -> Lowest-valued items displayed (number of items specified in Criteria1)
'xlBottom10Percent -> 6 -> Lowest-valued items displayed (percentage specified in Criteria1)
'xlFilterCellColor -> 8 -> Color of the cell
'xlFilterDynamic -> 11 -> Dynamic filter
'xlFilterFontColor -> 9 -> Color of the font
'xlFilterIcon -> 10 -> Filter icon
'xlFilterValues -> 7 -> Filter values
'xlOr -> 2 -> Logical OR of Criteria1 or Criteria2
'xlTop10Items -> 3 -> Highest-valued items displayed (number of items specified in Criteria1)
'xlTop10Percent -> 5 -> Highest-valued items displayed (percentage specified in Criteria1)

   'para buscar campos en blanco -> "><"
       
End Sub

Con este otro código de ejemplo, filtraremos mostrando únicamente los 10 valores más altos:

VB
Private Sub CommandButton2_Click()
ActiveSheet.Range("A1:C11").AutoFilter _
Field:=3, _
Visibledropdown:=False, _
Operator:=xlTop10Items
End Sub


Publicado

en

por

Etiquetas:

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *