[[20100303151259]] 『マクロがシートを移動しない』(井戸) ページの最後に飛ぶ

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

 

『マクロがシートを移動しない』(井戸)

 こちらを参考にマクロを作成しました。ブック内の「Cover」以外の全シートで
 同じ作業をするようにしたいのですが、1つのシートで何度も作業を繰り返すだけで
 他のシートに行きません。(シート枚数分繰り返す)
 どこが間違っているのか、どうぞお助け下さい。
 XPのエクセルは2003です。よろしくお願いします。

 ============
 Sub 非表示フィルタ()

    Dim Retsu As Variant
    Dim X As String
    Dim wh As Worksheet

      Retsu = InputBox("半角数字!!!")

        If Retsu = "" Then

        Exit Sub
        End If

        X = Retsu

    For Each wh In Worksheets
    If InStr(1, wh.Name, "Cover") = 0 Then
       With wh

         If .FilterMode = True Then
             'フィルターによる非表示行がある場合全て表示
             .ShowAllData
         ElseIf .AutoFilterMode = False Then
             'オートフィルタがかかっていないときはオートフィルタ実行
            Range("A12:R350").Select
            Selection.AutoFilter
         Else
             'オートフィルタがかかっており、非表示行がないとき
             'なにもしない
         End If

    Selection.AutoFilter Field:=X, Criteria1:="<>0", Operator:=xlAnd, _
        Criteria2:="<>"
    Selection.AutoFilter Field:=1, Criteria1:="<>", Operator:=xlAnd, _
        Criteria2:="<>5511000a"

    End With
    End If
 Next
 End Sub


 >  For Each wh In Worksheets
 >  If InStr(1, wh.Name, "Cover") = 0 Then  ← シート名に「Cover」が含まれてなかったら。
 >     With wh

 って、何をやっているのか、学んだ方がいいと思う。
 BJ

             'オートフィルタがかかっていないときはオートフィルタ実行
            Range("A12:R350").Select
            Selection.AutoFilter
 これは、アクティブシートに実行されます。

    Selection.AutoFilter Field:=X, Criteria1:="<>0", Operator:=xlAnd, _
        Criteria2:="<>"
    Selection.AutoFilter Field:=1, Criteria1:="<>", Operator:=xlAnd, _
        Criteria2:="<>5511000a"
 この部分もですね。

 それで、一つのシート(実行時にアクティブに成っていたシート)にだけ
 処理がされているのではないかと思いますが。

 (HANA)


 あ、そうですね。
 私のは全く違いますね。
 良く読めば見当はずれもいいとこでした。
 すみません。
 BJ

コメント返信:

[ 一覧(最新更新順) ]


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