Excelで見積書を作成しています。
マクロでページを追加できるようにしたいのですが、貼り付け先のセルを指定する方法をインターネットで探しながら作ってみると
実行時エラー1004 Range クラスの PasteSpecial メソッドが失敗しました。
となります。
ワークシートを指定すればいいのかなと思いますが、どういう風に指定するのかがわかりません。
どうか、教えてくださいませんでしょうか。宜しくお願いします。
Sub 頁追加()
ActiveSheet.Unprotect
ActiveSheet.Range("A42:AZ84").Copy
Dim a As Range
Set a = Application.InputBox( _
Prompt:="セル範囲を選択してください", _
Title:="セル選択ダイアログ", _
Type:=8)
a.PasteSpecial
Application.CutCopyMode = False
EndSec:
Set Rng = Nothing
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
No.1ベストアンサー
- 回答日時:
こんなカンジでしょうか。
sub macro1()
dim res as range
on error resume next
’シートを保護する
activesheet.protect userinterfaceonly:=true
’対象のセルを指定する
set res = application.inputbox(prompt:="Select Range", title:="Selection", type:=8)
’キャンセルしたら終了する
if res is nothing then exit sub
’コピーして貼り付ける
range("A42:AZ84").copy destination:=res.cells(1)
end sub
返事が遅くなってしまって申し訳ありませんでした。
早々にご回答をいただいていたようで、本当に感謝いたします。
keithin様の文を殆どそのまま貼り付けましたら、ちゃんと動いてくれました。
勉強不足で、時間もあまりなくて、自力ではもう無理かなと思っていたところ、思い切って質問してみて良かったです。
本当にありがとうございました。
No.2
- 回答日時:
原因は、copy後に余計なメソッド(Inputbox)がある為、copyがリセットされ
PasteSpecialメソッドでコピー元なしとなるからです。
copyをInputBoxメソッドの直後に移動すれば動作します。
因みにキャンセルボタン押下するとInputBoxメソッドでエラーになるので
もう少しweb検索して学習して下さい。
お返事が遅くなり、申し訳ございませんでした。
また、早々に回答してくださりありがとうございました。
mu2011様にご指摘された箇所を見て、納得です。
それが原因でエラーが出ていたのですね。
何をどう検索すると自分の知りたいことが解るのかさへもわからない状態になっていました。
ここへ質問してこんな風に回答していただき本当に感謝です。
キャンセルボタン押下・・・・の件も、頑張って調べて学習してみます!
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
マクロを実行すると画像がズレ...
-
Excelで挿入した図をセルの中央...
-
太字に設定されているセルの個...
-
クリックすると文章が表示され...
-
Excel内での検索結果をシート...
-
フォントの色を指定して削除出...
-
現在のセルの位置を返す関数は...
-
EXCELのセルや文字色の反映
-
excelで セルの移動時に...
-
【マクロ】ファイル名の変更に...
-
Excelで、図形内の文字をセルに...
-
エクセルでの検索ボックスの作...
-
セルの値が変ると自動でマクロ...
-
【EXCEL】先週の月曜日の日付を...
-
VBA 見つからなかった時の処理
-
エクセル 未入力セルがあると...
-
範囲指定をしてPDF保存vba
-
エクセルでPDFリンクを大量...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
VBA 見つからなかった時の処理
-
エクセルでの検索ボックスの作...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
【EXCEL】先週の月曜日の日付を...
-
EXCELのセルや文字色の反映
-
セルがクリックされた回数をカ...
おすすめ情報