
VBAマクロを使用してのエクセル上での
あるシートから別のシートへのコピー&ペーストが
うまくいきません。その時のエラー表示が
「実行時エラー '1004’
アプリケーション定義またはオブジェクト定義のエラーです。」
と表示されます。
Dim NaiyoSta As Long
Set WS1 = Worksheets("Sheet1")
Set WS2 = Worksheets("Sheet2")
Set WSNaiyo = Worksheets("内容書")
NaiyoSta = 1
と定義しておいて
'保存
WS2.Range("CA11:CQ37").Select
Selection.Copy
WSNaiyo.Select
WSNaiyo.Range(Cells(NaiyoSta, 1)).Select
(ここでエラー表示され、処理がストップします。)
ActiveSheet.Paste
WS2.Range("CA11:CQ37").Select
Application.CutCopyMode = False
'印刷
Selection.PrintOut '印刷プレビュー表示後,印刷
要は Sheet2の "CA11:CQ37" の範囲を
"内容書"というシートのA1から貼り付けたいのですが
前記のようにうまくいきません !
(NaiyoStaは27行おきに貼り付けたいのでインデックスとして
使用しています)。
どうか、宜しく御教示下さいますようお願い致します。
No.1ベストアンサー
- 回答日時:
Dim NaiyoSta As Long
Dim NaiyoSta As Integer
Set WS1 = Worksheets("Sheet1")
Set WS2 = Worksheets("Sheet2")
Set WSNaiyo = Worksheets("内容書")
WS2.Range("CA11:CQ37").Copy
WSNaiyo.Cells(NaiyoSta, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
WS2.Select
WS2.Range("CA11:CQ37").Select
Selection.PrintOut
GETSTREET 様
御回答 ありがとうございました。
御指摘戴いた内容でそのまま
修正しましたら以下のように
ちょっと支障があったので少々、
直させてもらいました。
Dim NaiyoSta As Long (削除)
Dim NaiyoSta As Integer
(LongとInteger両方定義するとコンパイルエラーとなるので)
Set WS1 = Worksheets("Sheet1")
Set WS2 = Worksheets("Sheet2")
Set WSNaiyo = Worksheets("内容書")
WS2.Range("CA11:CQ37").Copy
WSNaiyo.Select (追加)
WSNaiyo.Cells(NaiyoSta, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
WS2.Select
WS2.Range("CA11:CQ37").Select
Selection.PrintOut
以上、少し修正してやっとエラー無く、動く
ようになりました。御指摘のNaiyoSta の Integer の
が大きな原因だったのでしょうか ?
2日間、ずっとこれで悩んでいたので
大助かりです。有難うございました !
No.2
- 回答日時:
>WSNaiyo.Range(Cells(NaiyoSta, 1)).Select
これでえらーがでるのは、Cellsの前にシート名がないからです。
WSNaiyo.Range(WSNaiyo.Cells(NaiyoSta, 1)).Select
が、このように1セルを指定する場合はふつう
WSNaiyo.Cells(NaiyoSta, 1).Select
とします。
Range(Cells,Cells) とするのは範囲指定のときです。
それからSelectメソッドはほとんどの場合不要なので以下の8行は
>WS2.Range("CA11:CQ37").Select
>Selection.Copy
>WSNaiyo.Select
>WSNaiyo.Range(Cells(NaiyoSta, 1)).Select
>ActiveSheet.Paste
>WS2.Range("CA11:CQ37").Select
>Application.CutCopyMode = False
>Selection.PrintOut '印刷プレビュー表示後,印刷
次の2行と同じことです。
WS2.Range("CA11:CQ37").Copy WSNaiyo.Cells(NaiyoSta, 1)
WS2.Range("CA11:CQ37").PrintOut
以上。
Onlyrom 様
御回答ありがとうございました。
御指摘のようにSelectで定義しなくても
Copy & Paste はできるんですね !
Select文で使用するシート、セルを指示しないと
Copy & Paste が出来ないのではないかと
思ってました。確かにOnlyromさんの言われる
最後の2行だとSelectの指定も無いし、
文も節約されてすっきりしますね !
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
実行時エラー48発生時のDLL特定...
-
マクロについて教えてください...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
アプリケーション定義またはオ...
-
「アプリケーション定義または...
-
エクセルVBA、フリーフォームで...
-
マクロを作成したのですが、以...
-
実行時エラー3001「引数が間違...
-
なぜエラーになるのでしょうか...
-
VBAで、定数式が必要ですのエラ...
-
”オブジェクト参照がオブジェク...
-
なぜこんな初歩的なVBAのIf文で...
-
【VBA】ボタンに登録したマクロ...
-
[Delphi] データセットは閉じて...
-
Excelマクロのオートメーション...
-
ExcelVBAで、ユーザー定義型は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー -'-2147417848
-
【Excel VBA】マクロをボタンに...
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
VB6+SQL サーバー 2000 で 実行...
-
エクセルエラー13型が一致しま...
-
VBS実行時エラー オブジェクト...
-
ADODB.Streamを使用してUTF-8を...
-
INSERT INTOステートメント構文...
-
VBAで、定数式が必要ですのエラ...
-
OLEDB.NETで接続できない
-
VBSで変数の宣言はできないので...
おすすめ情報