みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAの一時停止後、 入力し再実行したい

エクセルVBAでオートフィルター実行後に一時停止し、オートフィルターで選んだエクセルシート上のセルに直接入力た後、マクロを再実行させたい。
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2008/3/2

'製品コードより枠番を選ぶ
Selection.AutoFilter Field:=12, Criteria1:="=?????1*", Operator:=xlAnd
'ここで一時停止し、エクセルシート上で入力した後、次の行を実行したい

Selection.AutoFilter Field:=12, Criteria1:="=?????2*", Operator:=xlAnd
'ここで一時停止し、エクセルシート上で入力した後、次の行を実行したい
Range("A1").Select

End Sub

投稿日時 - 2008-03-02 16:07:45

QNo.3826389

困ってます

質問者が選んだベストアンサー

下記でどうですか?。
最初に Macro1を実行する。
次に Macro2を実行する。

Dim Flt As AutoFilter
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2008/3/2
Set Flt = ActiveSheet.AutoFilter

If Flt Is Nothing Then
' AutoFilterがOFFなら何もしない
Else ' AutoFilterがON であれば、OFF(解除する)
Selection.AutoFilter
End If
'製品コードより枠番を選ぶ
 Range(("A1"), ("D1")).Select ' 例 AutoFilterをかけるセルを指定する
Selection.AutoFilter Field:=12, Criteria1:="=?????1*", Operator:=xlAnd
'ここで一時停止し、エクセルシート上で入力した後、次の行を実行したい
END

Range("A1").Select

End Sub
Sub Macro2()
'
' Macro1 Macro
' マクロ記録日 : 2008/3/2
Set Flt = ActiveSheet.AutoFilter

If Flt Is Nothing Then
' AutoFilterがOFFなら何もしない
Else ' AutoFilterがON であれば、OFF(解除する)
Selection.AutoFilter
End If

Range(("A1"), ("D1")).Select '例 AutoFilterをかけるセルを指定する

Selection.AutoFilter Field:=12, Criteria1:="=?????2*", Operator:=xlAnd
'ここで一時停止し、エクセルシート上で入力した後、次の行を実行したい
Range("A1").Select
END
End Sub

投稿日時 - 2008-03-02 17:38:48

お礼

ありがとうございます。
マクロについて、まだまだ理解できなくて(Tマクロで悪戦苦闘しています)アドバイス頂きましたので早速、試してみます。
また、教えてください!! 

投稿日時 - 2008-03-04 21:59:54

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問