- 締切済み
マクロ 並び替え エラーがでる
マクロの記録で以下のようなマクロを作りましたが、実行するとエラー91「オブジェクト変数またはブロック変数が設定されていません」とでます。どう直したらよいでしょうか? Sub Macro6() Columns("A:L").Select Selection.AutoFilter ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _ ("A1:A497"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("B2").Select End Sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (455/693)
どの行でエラーなのかわかりませんが、... 以下がより正解かも。 Columns("A:L").Select Selection.AutoFilter If ActiveSheet.AutoFilterMode = False Then Selection.AutoFilter End If ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear 以下省略
- HohoPapa
- ベストアンサー率65% (455/693)
Selection.AutoFilter このコードによって、実行の都度 フィルターのオフオンが切り替わってしまうためと思います。 現コードを生かすなら、次のように、 AutoFilterがオフならオンにすることで解決できると思います。 Columns("A:L").Select Selection.AutoFilter If Not Selection Is Nothing Then Selection.AutoFilter End If ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear 以下省略。
お礼
Selection.AutoFilterが2つはいっていたので、1つ目を消したら、できました。早々のご回答ありがとうございました。
補足
すみません、やってみたのですが、同じエラーがでてきます。