
VBEの画面で、実行(F5)したところエラーなく実行できましたが、マクロを登録したボタンで実行するとエラーになってしまいます。
エラー内容は、
実行時エラー'1004'
Rangeメソッドは失敗しました。
です。
超初心者でとてもお恥ずかしいのですが以下にコードを記載します。
ご教示いただけると大変助かります。
よろしくお願いいたします。
-------------------
Dim LastRow As Long
Dim Day As Long
Dim i As Long
Dim k As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1= worksheets(“Sheet1”)
Set ws2= worksheets(“Sheet2”)
ws2.Range(“C6:G35).ClearContents
ws1.Select
With ws1
LastRow = ws1.Range(“A”&Rows.count).End(xlUp).Row
Day = ws2.Range(“C3”)
k = 6
For i = 3 To LastRow
If ws1.cells(i,7)= Day Or ws1.cells(i,10)= Day Then
★ws1.Range(cells(i,3),cells(i,6)).Copy
ws2.Range(“B”&k).PasteSpecial xlPasteValues
k = k+1
End If
Next i
End with
End sub
----------------
★印のところがエラーとなります。
原因が分からず初心者の私にはお手上げ状態です。。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
こんばんは
掲示のコードはVBEからコピペですか?
“
“B”&k
コンパイルできないと思うのですが・・・
エディターオプションによっては出来るのかな?
不自然な行間ですけれど・・他になんか書いているのでしょうか・・
ws1.Select とあるから Range(cells(i,3),cells(i,6)).Copy とするか
With ws1とあるから
.Range(.cells(i,3),.cells(i,6)).Copy とするか・・
ありがとうございました。今日会社でエラーの部分を.Range(.cells(i,3),.cells(i,6)).Copyにしたら、実行できました!助かりました!!お礼が遅くなりすみません。。

No.4
- 回答日時:
With ws1が余分です。
End withも要らない。With ws1が有ると、
ws1.Range(cells(i,3),cells(i,6)).Copyは以下の解釈となります。
ws1.ws1.Range(cells(i,3),cells(i,6)).Copy
Rangeメソッドのエラーです。
アクティブシートがws1(つまりws1を表示している状態)なら、エラーにはなりません。
ご回答ありがとうございます。なるほど…余計な部分がたくさんあったんですね。。まだまだ勉強不足です。ご丁寧に教えていただき感謝です!

No.1
- 回答日時:
Rangeは、Range("A3")の様に列文字+行番号を指定する必要があります。
なので、Range(cells(i,3),cells(i,6))とやると、
cells(i,3)にはA,B,C・・・などの列文字
cells(i,6)には1,2,3・・・などの行番号
が入ってる必要が有りますが、入ってますか???
早速のご回答ありがとうございます。
Range(cells(i,3),cells(i,6))は、該当行の3〜6列(C列〜F列)をコピーするために指定しました。コード画面の実行(F5)では想定の範囲をコピーできているので、コード自体は間違ってないかなと思ったのですが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) セルS2に入力した「月」と一致したB列の右隣へセルS110の値を転記する下記マクロを実行するとエラー 2 2022/12/06 17:32
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/11 08:33
- Visual Basic(VBA) 【至急】Excel 同一人物の情報を一行にまとめる(複数行) 6 2022/05/24 17:58
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
このQ&Aを見た人はこんなQ&Aも見ています
-
【Excel VBA】マクロをボタンに登録したがエラーで実行できない
Visual Basic(VBA)
-
コマンドボタンでマクロを起動するとエラーになる
Access(アクセス)
-
Excelでボタン(フォームコントロール)にマクロ登録するとエラーになる
Microsoft ASP
-
-
4
エクセルVBAが途中で止まります
Visual Basic(VBA)
-
5
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
6
マクロボタンを作ってのマクロ実行ができない
Excel(エクセル)
-
7
マクロのコマンドボタン《ActiveXコントロール》のエラーの原因と解決方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
実行時エラー48発生時のDLL特定...
-
なぜこんな初歩的なVBAのIf文で...
-
ADODB.Streamを使用してUTF-8を...
-
VBAでのエラー
-
VBAがブレークモードになっ...
-
ExcelVBA Range クラスの Page...
-
実行時エラー -'-2147417848
-
ASP.NET OleDbConnectionが定義...
-
Outlook.ApplicationをCreateOb...
-
エクセルVBAで以下のようなコー...
-
【Excel VBA】マクロをボタンに...
-
VBAのエラー発生場所をメッセー...
-
INSERT INTOステートメント構文...
-
日本語環境下で作成したマクロ...
-
クラシックASPでのエラー処理に...
-
OLEDB.NETで接続できない
-
エクセルVBAについて
-
VBAのChrome操作のエラーについ...
-
vbaのvlookup関数エラー原因を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
ExcelVBA Range クラスの Page...
-
マクロについて教えてください...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
実行時エラー48発生時のDLL特定...
-
EXCEL VBAマクロ中断でデバッグ...
-
なぜエラーになるのでしょうか...
-
実行時エラー3001「引数が間違...
-
OLEDB.NETで接続できない
-
INSERT INTOステートメント構文...
-
VBAのエラー発生場所をメッセー...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
ADODB.Streamを使用してUTF-8を...
-
カーソルオープンでエラー(ORA...
-
Invalid procedure call or arg...
おすすめ情報