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
こんなカンジでしょうか。
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様の文を殆どそのまま貼り付けましたら、ちゃんと動いてくれました。 勉強不足で、時間もあまりなくて、自力ではもう無理かなと思っていたところ、思い切って質問してみて良かったです。 本当にありがとうございました。