• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロ エラー)

エクセルマクロエラーによるシート名保存のエラー

このQ&Aのポイント
  • エクセルのマクロを使用してシート名を保存する際にエラーが発生しました。
  • グラフをシートに追加するとエラーが発生するため、解除する方法を知りたいです。
  • シートにグラフを追加するとエラーが発生し、解除することができません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>申し訳ない >コードが少し間違ってました Sheets("原本").Range("A1:K73").Copy Sheets("原本").Range("A1") が正解だと仮定すると「原本シートのA1~K73を、原本シートのA1~K73に貼り付ける」という事になり「無意味なプログラム」になります。 なお「非アクティブまたはセレクト状態にないシートには、グラフはペーストできない」のは、別の回答で説明した通りですから「ペースト先となる原本シートをアクティブにしてセレクトしてからコピー&ペーストを実行する必要がある」のは変わりません。 Sheets("原本").Range("A1:K73").Copy Sheets("原本").Range("A1") の前に Sheets("原本").Activate Sheets("原本").Select の2行を足してみて下さい。 なお「グラフを含むセルを、自分自身に貼り付けする」のは、もしかしたら「どうやっても不可能で、必ずエラーになる可能性が高い」ので、上記2行を足しても、エラーは消えないかも知れません(つまり、そういうコピー&ペーストは、実行不可能って事です)

jikkenn
質問者

お礼

ありがとうございます エラーのままでした 教えて貰いながら作ったため 不十分で申し訳ないです

その他の回答 (3)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

> Sheets("原本").Range("A1:K73").Copy Sheets("原本").Range("A1") ここでエラーになるという事ですね。 しかし、この操作は原本のA1:K73を同じところにコピーしているだけですし必要ないと思うのですが、何か意味があるのでしょうか。 とりあえず Sheets("原本").Range("A1:K73").Copy Sheets("原本").Range("A1:K73").PasteSpecial Application.CutCopyMode = False にしたらどうなるでしょう。

jikkenn
質問者

お礼

ありがとうございます やっぱりエラーのままみたいです

回答No.2

このエラーは「セレクト状態になってないシートにグラフを挿入しようとした場合に発生するエラー」なので、「グラフを含むセル範囲をコピーする前」に「コピー先のシートをセレクトする必要」があります。 Sheets("原本").Range("A1:K73").Copy Sheets("1原本").Range("A1") を実行する前に Sheets("1原本").Select を実行してみて下さい。 Sub 保存() Dim MySheetName As Variant MySheetName = InputBox("シート名を入力してください") If MySheetName = "" Then Exit Sub Sheets("1").Copy After:=Sheets(Worksheets.Count) ActiveSheet.Name = MySheetName 'コピー先シートの「1原本」シートをセレクトする Sheets("1原本").Select Sheets("原本").Range("A1:K73").Copy Sheets("1原本").Range("A1") '元のアクティブシートをセレクトし直す Sheets(MySheetName).Select End Sub

jikkenn
質問者

補足

申し訳ない コードが少し間違ってました Sub 保存() Dim MySheetName As Variant MySheetName = InputBox("シート名を入力してください") If MySheetName = "" Then Exit Sub Sheets("1").Copy After:=Sheets(Worksheets.Count) ActiveSheet.Name = MySheetName Sheets("原本").Range("A1:K73").Copy Sheets("原本").Range("A1") End Sub このコードです

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

私の環境2013ではエラーにならないのですが、デバッグを押したらコードのどこが黄色で選択表示されるでしょうか。 また、保存という名前ですが記載されているコードの後に保存するためのコードが記載されていてそちらになにか変なところがあるという事はないでしょうか。

jikkenn
質問者

補足

Sheets("原本").Range("A1:K73").Copy Sheets("1原本").Range("A1") この部分でエラーがでます