Самое простое - сделать кнопку с макросом. При этом, если ячейка с годом пустая - фильтр тоже обнуляется и показывает всё.
[vba]
Код
Sub Year_Filter() With ThisWorkbook.Sheets(1)
Dim X As Integer
X = .Cells(1, 4).Value
If X <> 0 Then .Range("$A$3:$I$8").AutoFilter Field:=5, Operator:=xlFilterValues, Criteria2:=Array(0, "12/12/" & X) Else .Range("$A$3:$I$8").AutoFilter Field:=5 End If
End With End Sub
[/vba]
marinanazarova, здравствуйте.
Самое простое - сделать кнопку с макросом. При этом, если ячейка с годом пустая - фильтр тоже обнуляется и показывает всё.
[vba]
Код
Sub Year_Filter() With ThisWorkbook.Sheets(1)
Dim X As Integer
X = .Cells(1, 4).Value
If X <> 0 Then .Range("$A$3:$I$8").AutoFilter Field:=5, Operator:=xlFilterValues, Criteria2:=Array(0, "12/12/" & X) Else .Range("$A$3:$I$8").AutoFilter Field:=5 End If
А если у меня будет несколько листов с одинаковыми таблицами, а последний будет лист итоговый? Просто не удобно будет по каждому листу бегать - нажимать кнопку. Спасибо
А если у меня будет несколько листов с одинаковыми таблицами, а последний будет лист итоговый? Просто не удобно будет по каждому листу бегать - нажимать кнопку. Спасибоmarinanazarova
В моём Excel 2003 на панель инструментов можно вытащить кнопку "Автофильтр" (находится в категории "Данные", изображение на кнопке выглядит как воронка и рядышком символ "равно"), нажатие на которую как раз и фильтрует таблицу по выделенному значению. где аналогичный инструмент находится в Вашем Excel 2007 - я не знаю, но, думаю, поискать такую кнопочку стоит и вытащить её на ПБД.
В моём Excel 2003 на панель инструментов можно вытащить кнопку "Автофильтр" (находится в категории "Данные", изображение на кнопке выглядит как воронка и рядышком символ "равно"), нажатие на которую как раз и фильтрует таблицу по выделенному значению. где аналогичный инструмент находится в Вашем Excel 2007 - я не знаю, но, думаю, поискать такую кнопочку стоит и вытащить её на ПБД.ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
а где в первом сообщении была речь о "третьем листе"? и зачем Вам вообще идти на какой-то "третий лист", чтобы отфильтровать таблицу, которая у Вас перед глазами по значению, которое у Вас перед глазами?
или Вы ещё не до конца определились с Вашей хотелкой?
а где в первом сообщении была речь о "третьем листе"? и зачем Вам вообще идти на какой-то "третий лист", чтобы отфильтровать таблицу, которая у Вас перед глазами по значению, которое у Вас перед глазами?
или Вы ещё не до конца определились с Вашей хотелкой?ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Вы хотите подсчитать какой-то показатель по нескольким листам? Уточните, какой именно за указанный год. Это будет адекватнее реализовать формулами Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Господа, меня устраивает первый предложенный вариант Rioran, но в процессе создался дополнительный вопрос, возможно ли реализовать данное действие на нескольких листах, и эту одну кнопку поместить только на последний лист. Это позволит мне анализировать на первом листе сколько потребуется ботинок в таком то году и таких то размеров, и на втором листе туфли. А на последнем листе заполниться общая таблица, где можно будет указать год, который поменяется в каждом листе (листов может быть много), где соответственно отфильтруется. Спасибо вам за понимание и помощь.
Господа, меня устраивает первый предложенный вариант Rioran, но в процессе создался дополнительный вопрос, возможно ли реализовать данное действие на нескольких листах, и эту одну кнопку поместить только на последний лист. Это позволит мне анализировать на первом листе сколько потребуется ботинок в таком то году и таких то размеров, и на втором листе туфли. А на последнем листе заполниться общая таблица, где можно будет указать год, который поменяется в каждом листе (листов может быть много), где соответственно отфильтруется. Спасибо вам за понимание и помощь.marinanazarova
Принцип, в общем, тот же. Работает, если у всех целевых для фильтра листов в ячейке А3 стоит "обувь рабочая", а нужный год указан на листе с именем "Option". Можете в коде имя поменять по вкусу, если надо.
Код фильтрует любое количество листов в книге.
[vba]
Код
Sub Year_Filter() With ThisWorkbook.Sheets("Option")
Dim X As Integer Dim shtX As Worksheet X = .Cells(1, 3).Value
For Each shtX In Worksheets If shtX.Cells(3, 1).Value = "обувь рабочая" Then If X <> 0 Then shtX.Range("$A$3:$I$8").AutoFilter Field:=5, Operator:=xlFilterValues, Criteria2:=Array(0, "12/12/" & X) Else shtX.Range("$A$3:$I$8").AutoFilter Field:=5 End If End If Next shtX
End With End Sub
[/vba]
marinanazarova, тогда Вам подойдёт этот вариант.
Принцип, в общем, тот же. Работает, если у всех целевых для фильтра листов в ячейке А3 стоит "обувь рабочая", а нужный год указан на листе с именем "Option". Можете в коде имя поменять по вкусу, если надо.
Код фильтрует любое количество листов в книге.
[vba]
Код
Sub Year_Filter() With ThisWorkbook.Sheets("Option")
Dim X As Integer Dim shtX As Worksheet X = .Cells(1, 3).Value
For Each shtX In Worksheets If shtX.Cells(3, 1).Value = "обувь рабочая" Then If X <> 0 Then shtX.Range("$A$3:$I$8").AutoFilter Field:=5, Operator:=xlFilterValues, Criteria2:=Array(0, "12/12/" & X) Else shtX.Range("$A$3:$I$8").AutoFilter Field:=5 End If End If Next shtX