• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel マクロについて)

Excelマクロの処理でシート31を元に戻す方法

このQ&Aのポイント
  • Excelマクロでシート31を元に戻す方法について教えてください。現在、シート31を開いて入力した後に、シートオリをコピーして元のシート31に貼り付けていますが、この方法ではシート1で実行した場合でもシート31が元に戻ってしまいます。
  • Excelマクロでの処理中にシート31を元に戻す方法について質問です。現在、シート31を開いて入力した後、シートオリをコピーして元のシート31に貼り付ける方法を使っていますが、この方法ではシート1で実行した場合でもシート31が元に戻ってしまいます。
  • Excelのマクロでシート31を元に戻す方法について教えてください。現在、シート31を開いて入力した後に、シートオリをコピーして元のシート31に貼り付ける方法を使っていますが、この方法ではシート1で実行した場合でもシート31が元に戻ってしまいます。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

開いているシートに対して「元に戻す」操作をすれば良いのですね。 これでよいと思います Sub Macro1() If ActiveSheet.Name <> "オリ" Then   Sheets("オリ").Range("A4:W43").Copy Range("A4")   Range("C6").Select End If End Sub

V_max
質問者

お礼

即解決でうれしいです 誠に勝手ですが、もし時間がございましたらどういう内容なのか教えていただけないでしょうか 命令文が短いのはなんとなく無駄を省いているわかりますが・・・ よろしくお願いします

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

えっ、これを解説ですか? (^^; Sub Macro1() If ActiveSheet.Name <> "オリ" Then  '↑ 開いているシート名が「オリ」のときは処理しない   Sheets("オリ").Range("A4:W43").Copy Range("A4") '  ↑ シート名「オリ」のA4:W43を、開いているシートの '     A4から始まる範囲に貼り付ける   Range("C6").Select '  ↑ 開いているシートのC6を選択する End If End Sub Sheets("オリ").Range("A4:W43")はシートを明示していますが、ただRange("A4:W43")だけを記述すると開いているシート(ActiveSheet)の範囲であることを意味します。 これ以上はご自身で勉強してください

V_max
質問者

お礼

大変勉強になりました ちょっとづつですが勉強したいと思います