【Excel VBA】「あぁ、原本壊したらどうしよう…」シートを安全にコピー&移動するコード

【業務効率化】VBA
スポンサーリンク

毎日、細かな数字や大事な顧客データを扱っていると、「もし操作を間違えて、原本を壊してしまったらどうしよう…」と胃がキリキリすること、ありませんか?

その「慎重さ」や「ネガティブな想像力」は、社会人として最強の強みになりますが、その不安を抱え続けるのはしんどいですよね。

今日は、そんな人の不安を技術(VBA)で「仕組み」に変え、心を軽くする方法をお伝えします。

実は私も、元々は超がつくほどの心配性。「このボタン押して大丈夫かな?」「データ消えないかな?」と、毎回ビクビクしながらExcelを触っていた時期がありました。

だから、あなたの「怖い」という気持ち、よくわかります。そして「怖い」からこそ、人は「自動化」するんです。

今日は、右クリックメニューを開いてポチポチ操作することなく、たった1秒で、しかも100%正確にシートをコピーする方法を伝授します。

これで、「原本を壊すかも」という不安から卒業しましょう。

【業務効率化】VBAの記事を見る

なぜ、手作業のコピーは怖いのか?

通常、シートをコピーする場合、以下の手順を踏みますよね。

  1. シート見出しを右クリック
  2. 「移動またはコピー」を選択
  3. 「コピーを作成する」にチェックを入れる(ここを忘れがち!)
  4. 挿入先を選んでOK

これ、最低でも4クリック必要です。毎日10回やれば40回。1ヶ月(20営業日)で800回も、ミスのリスクに晒されていることになります。

VBAを使えば、これをクリック1回(またはショートカットキー)で終わらせられます。リスクはゼロです。

コピー&ペーストで使える魔法のコード

今回は、実務で最もよく使う2つのパターンを用意しました。

パターンA:バックアップ用に「今のシートを一番後ろにコピー」したい時

「作業前に、今の状態を複製して残しておきたい!」という時に使います。課やチームで共有しているファイルだとこういう時、よくありますよね。

Sub CopySheetToEnd()
    ' 目的:アクティブなシートをコピーして、ブックの最後尾に追加する
   
    Dim ws As Worksheet
    Set ws = ActiveSheet ' 今見ているシートをセット
  
    ws.Copy After:=Worksheets(Worksheets.Count)
   
    ' 分かりやすいように、コピーしたことが伝わるメッセージを出す(不要なら消してOK)
    MsgBox "シートを末尾にコピーしました!", vbInformation
   
End Sub

After:=Worksheets(Worksheets.Count) が「今あるシートの枚数を数えて(Count)、その一番後ろ(After)に置いてね」と命令しています。これで、絶対に他のシートの間に挟まることはありません。

パターンB:顧客送付用に「今のシートを新しいブックへコピー」したい時

「このシートだけをお客様にメールしたい。でも他のシートは見せられない…」という時に最適な方法です。

Sub CopyToNewBook()
    ' 目的:アクティブなシートを新しいブック(空のExcel)としてコピーする
   
    ActiveSheet.Copy
   
    ' ここでは「保存」まではしていませんが、新しいブックが開いた状態になります
    MsgBox "新しいブックへコピーしました!名前を付けて保存してください。", vbInformation

End Sub


実は ActiveSheet.Copy とだけ書き、後ろに何も指定しないと、Excelは気を利かせて「あ、新しいブックにしたいのね?」と判断してくれます。
これなら、元のファイルからうっかり余計な情報を漏洩させるリスクを0%にできます。

最後に

「もしこうなったらどうしよう」と先に考えられる方は、裏を返せば「リスク管理能力が高い」ということだと思います。

今回紹介したコードは、数行の短いものです。でも、これが毎日の「ヒヤリ」を一つ減らしてくれるはずです。

積み重ねて一緒に、少しずつ楽をしていきましょう!

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました