[[20130322090654]] 『どのシートでも使える様にするには?』(かず) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『どのシートでも使える様にするには?』(かず)

初歩的な質問ですいません。
Excel2010 WindowsXP

ユーザー設定の並べ替えで

最優先をB、E、D,A、C、Fの順で並べ替え作業をマクロの記録で実行したものです。

("Sheet1") ですが
これを どのシートで使える様にするにはどうしたらいいのでしょうか?
すいません どなたか教えて下さい。よろしく御願いします。

************************************

' Macro18 Macro
' Selection.AutoFilter

    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
        ("B2:B20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
        ("E2:E20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
        ("D2:D20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
        ("A2:A20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
        ("C2:C20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
        ("F2:F20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("G2").Select
End Sub

 ActiveWorkbook.Worksheets("Sheet1")
 を
 ActiveSheet
 に変えてどうでしょうか。
 (Mook)


(Mook)さんありがとうございます。早速 置換で変更しました。
しかし実行すると

実行時エラー1004

Rangeクラスの AUto Filter メゾットが失敗しました
と出ました

何がダメなのでしょうか?

Sub Macro18()
'
' Macro18 Macro
'

'

    Selection.AutoFilter
    ActiveSheet.AutoFilter.Sort.SortFields.Clear
    ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range _
        ("B2:B20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range _
        ("E2:E20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range _
        ("D2:D20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range _
        ("A2:A20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range _
        ("C2:C20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range _
        ("F2:F20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveSheet.AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("G2").Select
End Sub'
(かず)


 エラーが出たのはどのコード?
 それと、Selection.AutoFilter で始まっているけど、当然、
 ・オートフィルターが【設定されていない】シートをあいてにしているね?
 ・で、オートフィルターを設定したいセルを選択して実行しているね?

 (ぶらっと)

 推測も含めて、たぶん以下でいいんじゃない?

 Sub Sample()

    ActiveSheet.AutoFilterMode = False
    Range("A1").AutoFilter

    With ActiveSheet.AutoFilter.Sort
        With .SortFields
            .Clear
            .Add Key:=Columns("B"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .Add Key:=Columns("E"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .Add Key:=Columns("D"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .Add Key:=Columns("A"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .Add Key:=Columns("C"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .Add Key:=Columns("F"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        End With
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

 End Sub

 (ぶらっと)


ありがとうございます 
ぶらっとさん できました。 助かりました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.