Страницы: 1
RSS
Скрыть стрелки автофильтра в умной таблице на всех столбцах кроме столбца "Заказ"
 
Уважаемые форумчане, добрый день.
Помогите пожалуйста усовершенствовать макрос для скрытия стрелки раскрывающегося списка (автофильтра) в умной таблице.
Вот этот макрос работает:
Код
Sub UnVisDropDown()
    Range("tblMaket").AutoFilter Field:=1, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=2, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=3, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=4, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=5, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=6, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=7, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=8, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=9, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=10, VisibleDropDown:=False
    Range("tblMaket").AutoFilter Field:=11, VisibleDropDown:=False
End Sub
Но беда в том, что:
1. В таблице может быть разное количество столбцов.
2. Столбец "Заказ" может быть не только последним столбцом в таблице.

Т.е. нужно определить количество столбцов, затем выявить номер столбца "Заказ" и выключить стрелки везде кроме столбца "Заказ".
 
Добрый день. Вариант:
Код
Option Explicit
Sub UnVisDropDown()
Dim i As Integer
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
If Cells(1, i).Value <> "Заказ" Then Range("tblMaket").AutoFilter Field:=i, VisibleDropDown:=False
Next i
End Sub
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
Конь, большое вам спасибо!
 
Ещё вариант
Код
Sub UnVisDropDown_1()
    ActiveSheet.ListObjects("tblMaket").ShowAutoFilterDropDown = False
    aaa = ActiveSheet.ListObjects("tblMaket").ListColumns("Заказ").Index
    Range("tblMaket").AutoFilter Field:=aaa, VisibleDropDown:=True
End Sub
Страницы: 1
Читают тему
Наверх