2016-08-11 50 views
-2

我想在過濾列E的excel中創建一個按鈕。列E被命名爲Category(現場,電子郵件,電話)。我想在現場創建三個按鈕,一個用於電子郵件,另一個用於電話。在excel中創建一個按鈕來過濾列中的特定文本

例如,如果我點擊現場,它應該向我顯示所有現場問題,其他兩個按鈕也一樣。

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

通過此代碼,我只能看到帶有電話的記錄,而不是現場和電話中的記錄。

此外,它不會向我顯示在電話預先分類下的所有問題。如果有20個問題,它只能過濾10個。

謝謝!

+2

那麼你的問題是什麼?請知道「我該怎麼做?」或「我從哪裏開始?」這個論壇太寬泛了。此論壇適用於那些現有代碼無法獲得幫助以克服上述代碼的特定問題的人。 –

+0

不確定你在找什麼,但也許切片機可能有幫助?它根據標準過濾數據。不幸的是,它只適用於數據透視表。查看[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

子的button1_Click() 範圍(「E:E」)自動篩選字段:= 1,標準1:=「預電話」 結束子 這是我編碼的按鈕中的一個,但一點也沒有似乎沒有用。 – 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 
相關問題