• 締切済み

エクセル2003のマクロでコマンドボタンでの貼り付けが出来ない。

はじめまして、マクロ記載などコードを書くのは初めての初心者です。今回エクセル2003のマクロで、ワークシートから数値データーを他のワークシトに貼り付けようとコマンドボタンを作成して実行してるのですが、「実行時エラー1004、rangeクラスのserectメソッドが失敗しました」とのエラーが帰ってきます。 しかしマクロダイアログにコードを貼り付けて操作すると成功してしまいます。 コマンドボタンが使用出来ないのでしょうか? 教えて頂けないでしょうか、何方かよろしくお願いいたします。 /////////////////////////////////////////// Private Sub CommandButton2_Click() Range("B5:AX14").Select Range("B5:AX5").Select Selection.Copy Sheets("報告FORMAT").Select Range("A72").Select ←ここで止まってしまってる様です。 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=True, Transpose:=False Range("A68").Select Sheets("管理format").Select Range("A1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "" Range("A2").Select End Sub //////////////////////////////////////////////////

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

Sheet2に記述した、下記コードは実行時エラーになりますが Private Sub CommandButton1_Click() Sheets("Sheet1").Select Range("a1").Select End Sub 下記コードは動作しました。Rangeの対象シートを明示してやれば良いのではないでしょうか。 Private Sub CommandButton1_Click() Sheets("Sheet1").Select ActiveSheet.Range("a1").Select End Sub そこから先は確認してありませんが、ご参考まで。

buruuo
質問者

お礼

ありがとうございました。

buruuo
質問者

補足

ありがとうございました。 無事に動作確認ができました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

シートモジュールのコードから他のシートに移動する事はできません。 コードを標準モジュールに置いて実行してください。

buruuo
質問者

お礼

ありがとうございます。

buruuo
質問者

補足

ありがとうございます。 しかし、あまりの初心者で、どうにも動いてくれません。 コードを標準モジュールに置く手順をご面倒ですがおしえて頂けないでしょうか!

関連するQ&A