Expandir mi rango de celdas para seleccionar?

para dante

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(False, False) = "B2" Then
        Application.EnableEvents = False
        Target.Value = "*" & Target.Value & "*"
        Application.EnableEvents = True
        'desactivamos la actualizacion de la pantalla, es decir ocultamos lo que la macro hace
        Application.ScreenUpdating = False
        'si existe algun error de uso lo ignora o salta al siguiente error
        On Error Resume Next
        'BD dinamica lista para efectuar el filtro avanzado en el mismo lugar, desde B1 hasta D2
        Range("B4:INDEX(E:E,COUNTA(B:B)+2,)").AdvancedFilter 1, _
        Range("B1").CurrentRegion
        'autoajusta toda fila usada
        Cells.Rows.AutoFit
        'autoajusta toda columna usada
        Cells.Columns.AutoFit
        'activamos la actualización de la pantalla
        Application.ScreenUpdating = True
    End If
End Sub

como hacer que la lista que tengo en la columna B hacerla mas larga osea hasta la fila 1000 para que pueda hacer mas larga mi lista

1 respuesta

Respuesta
1

Con la modificación que le hice a la macro, el filtro se hace hasta la última fila de la columna "B" que tengas con datos, si es la 1000, se hace hasta la 1000, si tienes 5000 se hace hasta la 5000.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(False, False) = "B2" Then
        Application.ScreenUpdating = False
        If ActiveSheet.FilterMode Then ShowAllData
        Application.EnableEvents = False
        Target.Value = "*" & Target.Value & "*"
        Application.EnableEvents = True
        'desactivamos la actualizacion de la pantalla, es decir ocultamos lo que la macro hace
        Application.ScreenUpdating = False
        'si existe algun error de uso lo ignora o salta al siguiente error
        On Error Resume Next
        'BD dinamica lista para efectuar el filtro avanzado en el mismo lugar, desde B1 hasta D2
        u = Range("B" & Rows.Count).End(xlUp).Row
        Range("B4:E" & u).AdvancedFilter 1, _
        Range("B1"). CurrentRegion
        'autoajusta toda fila usada
        Cells. Rows. AutoFit
        'autoajusta toda columna usada
        Cells. Columns. AutoFit
        'activamos la actualización de la pantalla
        Application.ScreenUpdating = True
    End If
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas