【问题标题】:VBA Autofilter problemsVBA 自动筛选问题
【发布时间】:2019-01-23 00:51:09
【问题描述】:

我使用宏记录器为自动过滤器创建代码。这第一次有效,但下一次,它会抛出错误“对象变量或块变量未设置”。我该如何解决这个问题?

Sheets(SheetNum + 1).Range("A7").Activate
Range(ActiveCell, Cells(ActiveCell.End(xlDown).Row, ActiveCell.End(xlToRight).Column)).Select
    '.Selection.AutoFilter
    ' Next line gives error
    'ActiveWorkbook.Worksheets("Youth - PP").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Youth - PP").AutoFilter.Sort.SortFields.Add Key:= _
        Range("K7:K1705"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Youth - PP").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

我在 Windows XP 中使用 Excel 2007。感谢您的帮助。

【问题讨论】:

    标签: excel vba autofilter


    【解决方案1】:

    首先删除自动过滤器应该可以解决它:

    ActiveWorkbook.Worksheets("Youth - PP").AutoFilterMode = False
    

    我建议修改您的代码以避免使用.Activate.SelectActivecellActiveWorkbook。定义对象并设置它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多