2016-08-11 2 views
-2

Я пытаюсь создать кнопку в excel, которая фильтрует столбца E. Столбец E называется категорией (на месте, электронной почте, телефоне). Я хочу создать три кнопки один для On-Site, один для электронной почты и еще один для телефона.Создайте кнопку в excel, которая фильтрует определенный текст внутри столбца

Например, если я нахожусь на месте, он должен показать мне все вопросы на месте, и то же самое касается других двух кнопок.

Sub Button1_Click() 
    Range("E:E").AutoFilter Field:=1, Criteria1:="phone" 
End Sub 

С помощью этого кода я вижу только записи с телефона, а не те, которые находятся на месте и на телефоне.

Кроме того, он не показывает мне все вопросы, которые классифицируются по предварительному телефону. Если есть 20 вопросов, он фильтрует только 10.

Спасибо!

+2

Так в чем ваш вопрос? Пожалуйста, знайте, что «Как мне это сделать?» или «С чего начать?» слишком широки для этого форума. Этот форум предназначен для тех, у кого есть существующий код, который не работает, чтобы получить помощь в преодолении конкретной проблемы с указанным кодом. –

+0

Не уверен, что именно вы ищете, но, может быть, может помочь slicer? Он фильтрует данные на основе критериев. К сожалению, он работает только с Pivot Tables. Проверьте [Chandoo] (http://chandoo.org/wp/2015/06/24/introduction-to-slicers/) и [Microsoft] (https://msdn.microsoft.com/en-us/library/ gg399135 (v = sql.110) .aspx), чтобы узнать о них. – PartyHatPanda

+0

Sub Button1_Click() Range ("E: E") Автофильтр поле:. = 1, факторам1: = "Pre-телефон" End Sub Это то, что я закодированы для одной из кнопок, но это Безразлично Кажется, он работает. – sjb12

ответ

0

Это может быть полезно. Вы можете записать три макроса с этим форматом, изменив переменную «критерии» в зависимости от того, для чего вы хотите отфильтровать. К ним относятся ячейки с несколькими записями. Затем вы можете вставить три кнопки (tutorial here), где каждый из них ссылается на собственный макрос. Обязательно измените имя макроса для каждого из них!

Sub ManualFilter() 

Dim criteria As String 

'What to look for 
criteria = "Email" 

'Where to look (Column E) 
Dim myRange As Range 
Set myRange = Range("E2", Cells(Rows.Count, "E").End(xlUp)) 

Dim myCell As Range 

'Compare with criteria 
For Each myCell In myRange 
    'if it matches: 
    If InStr(1, myCell.Value, criteria) <> 0 Then 
     myCell.EntireRow.Hidden = False 
    Else 
     'if it doesn't match: 
     myCell.EntireRow.Hidden = True 
    End If 
Next myCell 

End Sub 
Смежные вопросы