
コードを記述した画面で、F5、F8、右△ボタンでは実行ができますが、マクロを登録したボタンで実行するとエラーになります。(ショートカットキーも割り当てましたが同様)
エラー内容は、
実行時エラー'1004'
RangeクラスのAutoFilterメソッドが失敗しました。
です。
超初心者です。
無駄の多い記述でとてもお恥ずかしいのですが以下になります。
ご教示いただけると助かります。
よろしくお願いいたします。
*************************************
Sub オートフィルターで絞り込んで別シートに転記()
'これは動作確認済み
Dim rg
Set rg = Range("A1")
Dim cat
cat = 1
Sheets("作業②").Select
Range("A1").Select
rg.AutoFilter field:=10, Criteria1:=cat ’・・・・・←ここでつまづく
rg.CurrentRegion.Copy Sheets(6).Range("A1")
Sheets(6).Select
Cells.Select
Cells.EntireColumn.AutoFit
Columns("J:K").Select
Selection.Delete Shift:=xlToLeft
cat = cat + 1
’・・・・続く
No.1ベストアンサー
- 回答日時:
エラーが発生する原因ですが、「ボタンで実行するから」ではなく、「作業②シート以外のシートをアクティブした状態で実行するから」ではないでしょうか?
Selectを多用する初心者には、よく見られる症状です。
>Set rg = Range("A1")
上記の場合、変数rg は、その時点でアクティブなシートのA1セルを指してしまいます。
とりあえず、下記のように書き換えれば、エラーは回避できると思いますが・・・(あくまで「とりあえず」です)
Set rg = Sheets("作業②").Range("A1")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【VBA】ボタンで実行するとうまく作動しません。
Excel(エクセル)
-
【VBA】ボタンに登録したマクロがエラーになる
Visual Basic(VBA)
-
マクロボタンを作ってのマクロ実行ができない
Excel(エクセル)
-
-
4
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
5
EXCELのボタンによるマクロの登録名にファイル名が入ってしまう
PowerPoint(パワーポイント)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
8
コマンドボタンでマクロを起動するとエラーになる
Access(アクセス)
-
9
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
10
エクセル マクロ名にブック名が付いた場合の修正方法
Excel(エクセル)
-
11
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
12
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
13
エクセルVBA、ステップモードと結果が異なる
その他(Microsoft Office)
-
14
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
15
マクロのコマンドボタン《ActiveXコントロール》のエラーの原因と解決方法について
Excel(エクセル)
-
16
VBAでEmpty値って何ですか?
Excel(エクセル)
-
17
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
18
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
19
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
20
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
実行時エラー48発生時のDLL特定...
-
実行時エラー -'-2147417848
-
Outlook.ApplicationをCreateOb...
-
VBA IEの操作 ClassNameでエラ...
-
【マクロ】エラー【#DIV/0!】が...
-
なぜこんな初歩的なVBAのIf文で...
-
[Delphi] データセットは閉じて...
-
VBAで、定数式が必要ですのエラ...
-
マクロについて教えてください...
-
エクセルエラー13型が一致しま...
-
VBAで実行時エラー'424' オブジ...
-
ASP.NET OleDbConnectionが定義...
-
VBAのエラー発生場所をメッセー...
-
実行時エラー3001「引数が間違...
-
『実行時エラー 5 プロシージャ...
-
【Excel VBA】マクロをボタンに...
-
excel vbaでレート取得について...
-
VB6+SQL サーバー 2000 で 実行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【マクロ】エラー【#DIV/0!】が...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
実行時エラー -'-2147417848
-
実行時エラー48発生時のDLL特定...
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
EXCEL/VBAで、自分のPCだけエラ...
-
VB6+SQL サーバー 2000 で 実行...
-
VBAのエラー発生場所をメッセー...
-
ADODB.Streamを使用してUTF-8を...
-
【Excel VBA】マクロをボタンに...
-
OLEDB.NETで接続できない
-
なぜエラーになるのでしょうか...
-
INSERT INTOステートメント構文...
-
Outlook.ApplicationをCreateOb...
おすすめ情報