【问题标题】:How to add a filter & sort button in cell?如何在单元格中添加过滤器和排序按钮?
【发布时间】:2016-01-05 15:56:20
【问题描述】:

如何在单元格中插入过滤和排序按钮,如图所示?

【问题讨论】:

    标签: excel excel-2013 dropdown


    【解决方案1】:

    这里有一些代码可以与 George 的使用表格的答案一起使用。

    当过滤器正常工作时,我在添加表格时立即遇到了麻烦。您不能将“查询”范围转换为表格,但可以添加过滤器。见 --> https://stackoverflow.com/a/40492129/5079799 & 免责声明 这是我的博客,我将在其中发布更新的代码 https://www.freesoftwareservers.com/display/FREES/Filter+Worksheet+-+Table+-+Query+-+Excel+VBA

    Public Sub DatatoTable(ws As Worksheet)
       
        Dim TblStyle As String
        TblStyle = "TableStyleMedium20"
        
        Dim TblName As String
        TblName = ws.Name
         
        Dim TblRng As Range
        Set TblRng = GetUsedRange(ws)
        
        ws.Activate
        TblRng.Select
        Set lo = TblRng.ListObject
        If Not lo Is Nothing Then
             Debug.Print "Table Found"
        Else
         ws.ListObjects.Add(xlSrcRange, TblRng, , xlYes).Name = TblName
         Range(TblName & "[#All]").Select
         ws.ListObjects(TblName).TableStyle = TblStyle
        End If
    End Sub
    Public Function GetUsedRange(ws As Worksheet) As Range
     Dim lRow As Integer, lCol As Integer, fCol As Integer, fRow As Integer
     fCol = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlLeft).Column
     lCol = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
     fRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlDown).Row
     lRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
     Set GetUsedRange = ws.Range(Cells(fRow, fCol), Cells(lRow, lCol))
    End Function
    Sub Test()
     
     Call DatatoTable(ActiveSheet)
     
    End Sub
    

    【讨论】:

      【解决方案2】:

      或者更好的是,单击已填写的单元格,然后单击“主页”>>“格式为表格”。它为您提供了很多关于过滤、排序和公式复制的选项以及一些有趣的设计。

      Format as Table screenshot

      【讨论】:

      • 头脑 = 疯了!我正在研究一个将filter 添加到ws 的子程序,这很好,然后我还想添加一个单击按钮进行排序,但似乎不可能,它只是作为过滤器构建的。但是,我更喜欢“表格”选项,现在可以探索更多新事物。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 2015-02-21
      • 2013-01-22
      • 2022-11-15
      • 1970-01-01
      • 2022-06-14
      • 2011-08-15
      相关资源
      最近更新 更多