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