【2026年8月最新】ExcelのVBAでセル・シート・ファイルをコピーする方法|値のみ・書式のみの貼り付けとClaude Codeでの自動化
「毎月同じシートをコピーして、新しい月の集計表を作っている」「数式は残さず、値だけをコピーしたいのに、いつも書式まで崩れてしまう」——Excelを日常的に使っている方であれば、一度はこうしたコピー作業の悩みに直面したことがあるはずです。特に複数人で同じファイルを扱う職場では、担当者によってコピーの手順が微妙に異なり、結果として仕上がりにばらつきが出てしまうことも珍しくありません。
この記事では、Excelの自動化言語であるVBAを使って、セル・シート・ファイルをコピーする方法を、値のみ・書式のみの貼り付けも含めて整理します。あわせて、手作業・VBA・Claude Codeそれぞれの向き不向き、そしてVBAの構文を覚えなくてもClaude Codeに日本語で任せる方法までを非エンジニアの方にも分かるように解説していきます。
特にコピー元とコピー先のデータ形式(数式か値か、書式ありかなしか)を正しく制御できるかどうかは、Excel業務の品質を大きく左右します。誤って数式のまま別シートに貼り付けてしまい、参照先がずれて数値が壊れてしまった、という経験がある方も多いのではないでしょうか。この記事を通じて、そうした事故を未然に防ぐための正しい理解を身につけていただければと思います。
この記事を最後まで読むと、次の5つが明確になります。
01 WHY IT MATTERS Excel業務で「コピー」が繰り返される場面 毎月・毎週、同じ作業を手作業で続けていないか
| 業務領域 | 具体的なコピー作業の例 | 発生頻度 |
|---|---|---|
| 経理 | 前月の集計シートを複製して当月分の台帳を作る | 月次 |
| 営業 | 見積書テンプレートをコピーして顧客別に金額を差し込む | 案件ごと |
| 広告運用 | 数式付きの分析シートから、数値だけをレポート用に貼り付ける | 週次 |
| 人事・総務 | 前年の勤怠集計シートを複製して新年度用に作り直す | 年次 |
これらに共通するのは、「同じ構造のシート・ファイルを、期間や顧客ごとに複製して使い回す」という作業です。件数が少なければ手作業で問題ありませんが、毎月・毎週発生する場合、積み重なる時間は無視できません。
「毎月同じ手順でシートを複製している」「値だけ貼り付けたいのに、いつも書式が崩れて手直しが発生する」——こうした状態が3ヶ月以上続いているなら、この記事で紹介するVBAやClaude Codeでの自動化を検討する価値があります。
02 MANUAL COPY 手作業でのコピー&ペースト(値のみ・書式のみ)の基本 まずは基本の「形式を選択して貼り付け」を押さえる
Excelで単純にCtrl+C→Ctrl+Vを行うと、値・数式・書式のすべてがまとめてコピーされます。しかし業務では「数式ではなく計算結果の値だけが欲しい」「書式だけを揃えたい」という場面が頻繁にあります。そこで使うのが「形式を選択して貼り付け」機能です。
| 貼り付け方法 | ショートカット | 用途 |
|---|---|---|
| 通常の貼り付け | Ctrl+V | 値・数式・書式すべてをコピー |
| 値のみ貼り付け | Ctrl+Alt+V → V | 数式を計算結果の数値に変換してコピー |
| 書式のみ貼り付け | Ctrl+Alt+V → T | セルの色・罫線・フォントなどのみコピー |
📚 用語解説
形式を選択して貼り付け(Paste Special):通常のコピー&ペーストとは別に、「値だけ」「書式だけ」「数式だけ」など、コピーする要素を選んで貼り付けられるExcelの機能。他のブックへ数式付きのまま貼り付けるとエラーになる場合や、書式だけ揃えたい場合に重宝します。
手作業でこの操作を行う分には、数件〜数十件程度であれば大きな負担にはなりません。しかし「毎月、複数のシートに対して同じ貼り付け操作を繰り返す」となると、次の章で紹介するVBAでの自動化を検討する価値が出てきます。
03 WHAT IS VBA VBAとは何か、マクロ記録機能から始める コードを書けなくても、まずは「記録」から始められる
VBA(Visual Basic for Applications)は、Excel・Word・PowerPointなどのOfficeソフトに組み込まれている、業務自動化のためのプログラミング言語です。
📚 用語解説
VBA(Visual Basic for Applications):Excelなどのマイクロソフト製Officeソフトに標準搭載されている、業務自動化のためのプログラミング言語。「マクロ」と呼ばれる自動化された処理を作成・実行できます。Excelを使う担当者の間で古くから使われており、経理・総務・営業事務など非エンジニアの利用者も多いのが特徴です。追加のソフトウェアをインストールしなくても、Excelさえあればすぐに書き始められる手軽さも普及の理由の1つです。
VBAを学ぶ最初の一歩として、マクロ記録機能を使う方法があります。「開発」タブから「マクロの記録」を選び、普段通りにコピー&ペーストなどの操作を行うと、その操作内容が自動的にVBAコードとして記録されます。
📚 用語解説
マクロ記録機能:実際にExcel上で行った操作を、自動的にVBAコードへ変換して記録してくれる機能。VBAの文法を1から学ばなくても、「まず操作を記録し、生成されたコードを読んで理解する」という順序で学習を進められるため、非エンジニアの入門手段として広く使われています。
いきなり構文を暗記するのではなく、「自分が普段行っている操作が、コードでどう表現されるか」を確認しながら学べるのがマクロ記録の利点です。記録したコードをそのまま流用するだけでも、十分に業務の自動化に役立ちます。
マクロ記録から実務での自動化に至るまでの、典型的な独学ステップを整理すると、以下の4段階になります。
マクロ記録で
操作を
コード化
記録された
コードを
読んで理解
条件分岐など
手を加えて
カスタマイズ
ボタン化して
誰でも実行
できる形に
この中で最もつまずきやすいのがStep 3です。マクロ記録は「決まった操作をそのまま再現する」ことは得意ですが、「条件によって処理を変える」「複数のファイルに対して繰り返し処理する」といった応用的な自動化には、記録機能だけでは対応できません。ここで初めて、VBAの構文を能動的に学ぶ必要性が出てきます。
04 VBA CELL COPY VBAでセルをコピーする方法(値のみ・書式のみ) Range.CopyとPasteSpecialの組み合わせを覚える
VBAでセルをコピーする最も基本的な書き方はRange.Copyです。
Sub CopyCell()
Range("A1:A10").Copy Destination:=Range("B1")
End Sub
第2章で紹介した「値のみ」「書式のみ」の貼り付けも、VBAではPasteSpecialというメソッドで指定します。
Sub CopyValuesOnly()
Range("A1:A10").Copy
Range("B1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
Sub CopyFormatsOnly()
Range("A1:A10").Copy
Range("B1").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub
📚 用語解説
PasteSpecial(形式を選択して貼り付け):VBAでコピーした内容のうち、値だけ・書式だけといった特定の要素だけを貼り付けるためのメソッド。xlPasteValuesで値のみ、xlPasteFormatsで書式のみを指定できます。手作業の「形式を選択して貼り付け」機能と同じ処理をコードで再現するイメージです。
コピー操作を行うと、Excel画面上でコピー元のセルが点線で囲まれた状態(クリップボードにコピーされた状態)になります。この状態を解除せずに次の処理に進むと、意図しない動作やエラーの原因になることがあるため、コピー処理の最後にApplication.CutCopyMode = Falseを入れる習慣をつけましょう。
05 VBA SHEET COPY VBAでシートをコピーする方法 月次シートの複製を自動化する
シート単位でのコピーには、Worksheets.Copyメソッドを使います。
Sub CopySheet()
' 「テンプレート」を「集計シート」の後ろにコピー
Worksheets("テンプレート").Copy After:=Worksheets("集計シート")
End Sub
Afterの代わりにBeforeを指定すれば、指定したシートの前にコピーを挿入できます。また、コピー先を別のブック(Excelファイル)にすることも可能です。
Sub CopySheetToNewBook()
Dim newBook As Workbook
Set newBook = Workbooks.Add
Worksheets("集計シート").Copy Before:=newBook.Sheets(1)
End Sub
この方法を使えば、「毎月、テンプレートシートを複製して新しい月のシートを作る」という作業を、ボタン1つ・コマンド1つで完結させられます。
シートコピーで意外と見落とされがちなのが、コピー元のシートに設定されている入力規則(プルダウンリストなど)や条件付き書式も、基本的にはそのままコピー先へ引き継がれるという点です。これは多くの場合都合が良い挙動ですが、テンプレートシートに「サンプルデータ」を残したまま複製すると、そのサンプルデータまで一緒に複製されてしまうため、テンプレートは常に空の状態で管理しておくことが望ましいです。
5-1. コピー後のシート名を自動で変更する
シートをコピーすると、Excelは自動的に「集計シート (2)」のような名前を付けます。業務で使う場合は、シート名を分かりやすい名称(例:「2026年8月」)に自動変更する処理もあわせて組み込むと便利です。
Sub CopySheetAndRename()
Worksheets("テンプレート").Copy After:=Worksheets("テンプレート")
ActiveSheet.Name = "2026年8月"
End Sub
06 VBA FILE COPY VBAでファイルをコピーする方法 Excelブックそのものを複製・バックアップする
シート単位ではなく、Excelファイル(ブック)そのものをコピーしたい場合は、VBAのFileCopy関数を使います。
Sub CopyFile()
FileCopy "C:\Documents\template.xlsx", "D:\Backup\report_202608.xlsx"
End Sub
📚 用語解説
FileCopy関数:VBAに標準で用意されている、ファイル単位でコピーを行うための関数。Excelのシート内部の操作ではなく、Windowsのファイルシステム上でファイルそのものを複製します。コピー元のファイルが他のプログラムで開かれて排他利用されている場合はエラーになる点に注意が必要です。
より高度なファイル操作(フォルダの作成、ファイルの存在確認など)を行いたい場合は、FileSystemObjectというオブジェクトを使う方法もあります。
Sub CopyFileWithFSO()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\Documents\template.xlsx", "D:\Backup\report_202608.xlsx"
End Sub
📚 用語解説
FileSystemObject(FSO):Windowsのファイル・フォルダ操作を行うためのオブジェクト。VBAの標準機能であるFileCopy関数よりも柔軟な操作(フォルダ作成、ファイル存在チェック、フォルダ内の一覧取得など)ができるため、複雑なファイル操作を伴うマクロでよく使われます。
なお、VBAからファイルをコピーする際は、コピー先のフォルダがあらかじめ存在している必要があります。存在しないフォルダを指定するとエラーになるため、フォルダの有無を事前にチェックし、なければ作成する処理をあわせて組み込んでおくと、より安定して動作するマクロになります。FileSystemObjectのFolderExistsメソッドやCreateFolderメソッドを使うことで、この確認・作成処理も自動化できます。
07 COMPARISON 手作業・VBA・Claude Code、どれを使うべきか 頻度と複雑さから逆算する
| 方法 | 向いている場面 | 非エンジニアの学習コスト |
|---|---|---|
| 手作業(コピペ) | 数件程度、単発の作業 | 低い |
| VBA | 毎月繰り返すExcel内の定型処理 | 中〜高い(構文の習得が必要) |
| Claude Code | プログラミング知識なしで自動化したい、複数ファイルにまたがる処理 | 低い(日本語で指示するだけ) |
08 COMMON MISTAKES VBAでのコピー処理でよくあるミス 動くコードと、安全に運用できるコードは別物
ミス1:クリップボードの状態に依存して不具合が起きる
Destination引数を使わずCopyしてからPasteSpecialで貼り付けるパターンはクリップボードを経由するため、マクロ実行中に他の操作でクリップボードの内容が変わると、意図しない結果になることがあります。第4章で紹介したApplication.CutCopyMode = Falseで早めに解除する習慣が、こうした不具合の予防になります。
ミス2:相対参照と絶対参照の混同
マクロ記録機能を使う際、「相対参照で記録」がオンになっているかオフになっているかで、記録されるセル指定の挙動が変わります。この設定を意識しないままマクロを使い回すと、想定と違うセル範囲がコピーされてしまうことがあります。
📚 用語解説
相対参照・絶対参照:相対参照は「今いる場所からの相対的な位置」でセルを指定する方式、絶対参照は「常に固定されたセル」を指定する方式。マクロ記録では、記録開始時の設定によってどちらの方式でコードが生成されるかが変わるため、意図しない挙動を防ぐには、記録前にこの設定を確認しておく必要があります。
ミス3:ファイルが開かれたままでFileCopyが失敗する
第6章で紹介したFileCopy関数は、コピー元のファイルが他のプログラムで排他的に開かれている場合、エラーになることがあります。バックアップ処理を自動化する際は、対象ファイルが閉じられた状態で実行されるよう、処理のタイミングを設計する必要があります。
ミス4:エラー処理を入れずに途中で止まってしまう
複数のシート・ファイルに対して繰り返しコピー処理を行うマクロで、想定外のエラー(対象ファイルが見つからない、シート名が一致しないなど)が発生すると、処理がそこで完全に止まってしまい、残りの対象が未処理のまま放置されることがあります。業務で継続的に使うマクロには、On Error Resume NextやOn Error GoToといったエラー処理の仕組みをあらかじめ組み込み、一部が失敗しても全体の処理が止まらないように設計しておくことが推奨されます。
すべてのエラーを無条件に無視してしまうと、本来気づくべき重大な不具合まで見逃してしまいます。「どのエラーは無視してよいか」「どのエラーは処理を止めて人に知らせるべきか」を、業務の重要度に応じて設計することが、安全な自動化の基本です。
VBAのコードは、一度実行すると元に戻せない操作(上書き、削除)を伴うことがあります。新しく作成したマクロは、必ずコピーしたテスト用ファイルで動作確認してから、本番のファイルに適用するようにしてください。
09 CLAUDE CODE 【独自】Claude CodeでExcel自動化:VBAを書かなくても同じ処理ができる 構文を覚えずに、同じ結果を得る選択肢
Claude Codeは、Excelファイル(xlsx)を直接読み書きできるAIエージェントです。この記事で紹介したVBAのセル・シート・ファイルコピーに相当する処理も、日本語で指示するだけで実行してくれます。
「template.xlsxのシートをコピーして『2026年8月』という名前にして、A列の数式は値だけ貼り付けにして」——これだけで、第4章・第5章で紹介したPasteSpecialやシートコピーの処理まで含めて対応してもらえます。
特に「既存のVBAマクロが動いているが、作った人がすでに退職していて中身が分からない」というケースは多くの企業で見られます。こうした場合も、Claude Codeにマクロの中身を読み解いてもらうことで、ブラックボックス化した処理を可視化するところから始められます。読み解いた内容をもとに、そのまま使い続けるのか、より保守しやすい形に作り直すのかを判断すれば、無用なリスクを抱えたまま運用を続ける事態を避けられます。
10 GENAI CASE STUDY 【独自】GENAI社内でのExcel自動化実例 Max 20xプランを全社契約する会社が、実際どう使っているか
弊社(株式会社GENAI)では、Claude Max 20xプラン(月額$200・約30,000円)を全社契約し、経営・営業・広告・経理・秘書業務・記事制作まで幅広くClaude Codeを活用しています。ここでは、Excel関連の自動化が実際にどのような業務で使われているかを紹介します。
| 業務領域 | Excel自動化の内容 |
|---|---|
| 経理 | 月次の集計シートをテンプレートから複製し、数式は値として固定 |
| 営業 | 見積書テンプレートをコピーし、顧客名・金額を差し込んで生成 |
| 広告運用 | 週次レポートのシートを複製し、前週比の数値だけを更新 |
弊社では、こうしたExcel関連の処理も、VBAマクロを個別に開発・保守するのではなく、Claude Codeに都度「今回はこの条件で複製して」と指示する運用に寄せています。マクロを1つ作って保守し続けるコストと比較して、必要な時にAIへ指示する方が、変化への対応力が高いというのが実感です。
この方針の背景には、業務フォーマットが年に数回変わるという弊社特有の事情もあります。VBAマクロを作り込んでしまうと、フォーマット変更のたびにコードを修正する必要が生じますが、Claude Codeへの指示ベースであれば、変更内容をその都度日本語で伝えるだけで対応できます。マクロの保守という「隠れたコスト」を負わずに済む点は、想像以上に大きなメリットだと感じています。
1つのExcel
作業だけ
試しに任せる
結果を
目視確認
問題なければ
定型業務に
組み込む
他のExcel
業務にも
横展開
11 CONCLUSION まとめ ── VBAを学ぶか、AIに任せるかは目的次第 構文の暗記より、条件を明確に伝える力を持つ
最も重要なメッセージをお伝えします。VBAを学ぶかどうかは、目的から逆算して決めるべきです。Excel業務を効率化したいだけであれば、構文を暗記する前に、まずはClaude Codeに日本語で相談してみることをおすすめします。
一方で、VBAという技術そのものが不要になったわけではありません。既存のマクロ資産を持つ企業は今も多く、それらを読み解き、保守し、必要に応じて改修する知識には引き続き価値があります。大切なのは「新しく何かを自動化したい」場面と「既存の資産を維持・理解したい」場面を区別し、それぞれに適した手段を選ぶ視点を持つことです。
Excel業務の自動化を、AI鬼管理が一緒に設計します
毎月の集計シート複製、見積書の差し込み作成——VBAを覚えなくても自動化できます。
弊社の実運用ノウハウをもとに、貴社の業務に合った進め方をご提案します。
ここから先の進め方は、大きく2つあります。
自社で回せるようになりたい方は、AI鬼管理でClaude Code/Codexの使い方から業務設計・社内定着まで伴走を受けながら、社内に仕組みを作る道があります。
覚えるより任せたい方は、AIBPO by AI鬼管理でこの記事のような定型業務を丸ごと預ける道があります。総額はいまの業務コストの50%が目安、月額基本料は0円です。
どちらが合うかは、業務量と社内体制次第です。無料相談・無料適合診断で、貴社の場合はどちらが向くかからご相談いただけます。
NEXT STEP
この記事の内容を、あなたのビジネスで
実践してみませんか?
よくある質問
Q. VBAは今から学ぶ価値がありますか?
A. Excelを使う業務が多く、自分でマクロを書けるようになりたいという意欲があるなら学ぶ価値はあります。ただし「Excel業務を効率化したいだけ」であれば、VBAの構文を学ぶより、Claude Codeに日本語で自動化を依頼する方が早く成果が出るケースが多いです。
Q. マクロ記録機能で作ったコードは、そのまま業務で使って大丈夫ですか?
A. 多くの場合、動作はしますが、相対参照・絶対参照の設定や、想定外のセル範囲が含まれていないかを確認してから使うことをおすすめします。特に重要な業務データに対して使う前は、テスト用のファイルで動作確認をしてください。
Q. VBAのFileCopy関数でエラーになるのはなぜですか?
A. 最も多い原因は、コピー元のファイルが他のプログラム(Excel自体を含む)で開かれていることです。ファイルを閉じた状態で実行するか、処理の順序を見直すことで解決できるケースがほとんどです。
Q. 既存のVBAマクロを作った担当者が退職してしまいました。どうすればいいですか?
A. Claude Codeに既存のマクロのコードを読み込ませ、「このマクロが何をしているか日本語で説明して」と依頼する方法があります。中身を可視化したうえで、改修や置き換えの方針を検討するのが現実的な進め方です。
Q. Claude CodeにExcel自動化を頼む場合、VBAの知識は必要ですか?
A. 必要ありません。「このシートをコピーして、数式は値だけにして」のように、日常的な日本語で条件を伝えるだけで対応してもらえます。VBAの構文やメソッド名を覚える必要はありません。
Q. 値のみのコピーと書式のみのコピー、業務ではどちらが多く使われますか?
A. 業務内容によりますが、集計結果を別シートに残す・他部署に共有するといった場面では「値のみ」が多く使われます。「書式のみ」は、新しいシートに既存のデザインだけを揃えたい場合など、限定的な場面で使われる傾向があります。
Claude Codeで業務自動化を90日で叩き込む
経営者向けの伴走型パーソナルトレーニング
AI鬼管理/AIBPO by AI鬼管理へのお問い合わせ
この記事を読んで気になった方へ。
専門スタッフが、御社に最適な
業務自動化・業務代行プランを無料でご提案します。




