Filtr na kolumny.doc

(22 KB) Pobierz
Filtr na kolumny

Filtr na kolumny

Może, się zdarzyć tak, że będziemy potrzebowali filtrować nie wiersze (co nam umożliwia autofiltr czy też filtr zaawansowany), ale kolumny. Niestety brak jest takiego wbudowanego mechanizmu w excelu. Ale od czego VBA i pomysłowość? Oto makro nadesłane przez Henryka Tomczyka rozwiązujące ten problem (kod należy wstawić w arkusz, w którym chcemy mieć tę funkcjonalność):


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 

    'Kliknij wiersz poszukiwań prawym klawiszem myszy
    If Selection.Rows.Count <> 1 Or Selection.Cells.Count = 1 Then End
        ' Cancel = True
    ciag = InputBox("Podaj szukany ciąg.")
    If ciag = "" Then End
    Application.ScreenUpdating = False
 

    With Selection
        Set c = .Find(ciag, LookIn:=xlValues)
        If Not c Is Nothing Then
            pierw_adr = c.Address
            Columns.ColumnWidth = 0.05
            Do
                Range(c.Address).EntireColumn.AutoFit
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> pierw_adr
        End If
    End With
 

    If c Is Nothing Then MsgBox "Ciąg >> " & ciag & " << nie występuje!"
    Application.ScreenUpdating = True


End Sub

 

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
 

    ' kliknij 2x lewym = pokaż wszystkie kolumny
    Columns("A:IV").ColumnWidth = 8.43
    Selection.CurrentRegion.EntireColumn.AutoFit
 

End Sub

 

...
Zgłoś jeśli naruszono regulamin