[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロがシートを移動しない』(井戸)
こちらを参考にマクロを作成しました。ブック内の「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.