- 公開日:
エクセルで別シートに自動反映する方法
エクセルではさまざまな方法を使って、シートの値を別シートに自動反映する設定ができます。
セル参照で自動反映する方法や、貼り付けの機能を使って自動反映する方法などをご紹介します。
複数のシート間でデータを共有したい場合や、効率よくデータ入力したい場合などにお役立てください。
エクセルで別シートに自動反映する方法
エクセルで別シートにセルの値を自動反映する方法について、以下の4通りの方法をご紹介します。
セル参照で自動反映する
Excelには「セル参照」という機能があり、例えば「A1セルの値を別シートのA1セルに表示する」といった操作が可能です。
セル参照は方法がシンプルなので、Excelを使い慣れていない方でも活用できます。
Sheet1とSheet2を用意します。
今回はSheet1のA2セルの値を、セル参照でSheet2のA2セルに自動反映します。
①Sheet2のA2セルに「=」と入力し、②「Sheet1」を選択します。
Sheet1のA2セルを選択し、Enterを押します。
するとSheet2のA2セルに、Sheet1のA2セルの値が反映されました。
数式バーを確認すると、Sheet2のA2セル内の数式が「=Sheet1!A2」になっていることが確認できます。
「=Sheet1!A2」は「Sheet1のA2セルの値を参照している」という意味の数式になります。
試しに自動的に値が変わるか、Sheet1のA2セルの値を変更してみましょう。
①A2セルに「佐藤」と入力しEnterを押して、②「Sheet2」を選択します。
Sheet2のA2セルの値も自動的に「佐藤」に変化しました。
以上で、セル参照を使って別シートに値を自動反映できました。
リンク貼り付けで自動反映する
Excelの貼り付け機能の「リンク貼り付け」を使用して、セルの値を別シートに自動反映する方法をご紹介します。
今回はSheet1のA2セルからA3セルの値を、リンク貼り付け機能を使ってSheet2に自動反映します。
①A2セルからA3セルを選択し、キーボードのCtrl+ Cを押してコピーします。
②「Sheet2」を選択します。
Sheet2のA2セルからA4セルを範囲選択します。
①「ホーム」タブ、②「貼り付け」の順に選択します。
②その他の貼り付けオプションから「リンク貼り付け」を選択します。
リンク貼り付けによってSheet2に、Sheet1のA2セルからA3セルの値が貼り付けられました。
数式バーを確認すると、リンク貼り付けにより「=Sheet1!A2」という数式が自動入力されていることが分かります。
「=Sheet1!A2」は「Sheet1のA2セルの値を参照している」という意味の数式になります。
試しに自動反映の設定が正確にできているか確認してみます。
①Sheet1のA4セルの値に「名古屋」と入力してEnterを押します。
②「Sheet2」を選択します。
Sheet2のA4セルの値も自動的に変更されました。
ドロップダウンリストの選択肢に自動反映する
Excelのドロップダウンリストとは、あらかじめ作成したリストから項目を選択して入力できるようにする機能です。
ドロップダウンリストには、別シートに作成した項目を選択肢として自動反映させることもできます。
まずはドロップダウンリストを設定する表を作成します。
今回はSheet1のA1セルからB8セルに作成しました。
ドロップダウンリストはB列に作成します。
次にSheet2にドロップダウンリストの項目となるリストを作成しておきます。
今回はSheet1のB列にドロップダウンリストを作成して、Sheet2の選択肢リストを自動反映させます。
①ドロップダウンリストを設定するセル範囲(例:B2セルからB8セル)を選択します。
②「データ」タブを選択し、②データの入力規則の「▼」ボタンを押します。
③「データの入力規則」を選択します。
「データの入力規則」ダイアログボックスが表示されました。
①入力の種類で「リスト」を選択します。
②元の値の「↑」ボタンを押します。
Sheet2の項目が入力されたセル範囲(例:A2セルからA4セル)を選択し、Enterを押します。
「データの入力規則」ダイアログボックスに戻ります。
「OK」ボタンを押します。
B列にドロップダウンリストが作成されました。
「▼」ボタンを押すと、Sheet2に入力した項目が選択肢に反映されていることがわかります。
①試しにSheet2のA4セルに「◎(二重丸)」と入力して、Enterを押します。
②「Sheet1」を選択します。
ドロップダウンリストの「▼」ボタンを押してみると、選択肢の内容が二重丸に変更されていることがわかります。
マクロを使って自動反映する
Excelでマクロを設定して指定した範囲の値を、別のシートに自動範囲させることができます。
ボタンひとつで書式も含めて値をコピーできるため、同じ内容のシートを複数作成したい場合等に便利です。
今回は、マクロを使ってSheet1のA1セルからB5セルの値を、Sheet2に自動反映させます。
マクロを設定します。
①「開発」タブ、②「Visual Basic」の順に選択します。
「Microsoft Visual Basic for Applications」ダイアログボックスが表示されます。
①「挿入」、②「標準モジュール」の順に選択します。
標準モジュールが挿入されました。
以下のコードをコピーして貼り付けます。
Sub 反映する()
Dim wsSource As Worksheet
Dim wsDestination As Worksheet
Dim sourceRange As Range
Dim destinationRange As Range
Set wsSource = ThisWorkbook.Sheets("Sheet1")
Set wsDestination = ThisWorkbook.Sheets("Sheet2")
Set sourceRange = wsSource.Range("A1:B5")
Set destinationRange = wsDestination.Range("A1")
sourceRange.Copy destinationRange
End Sub
シート名を変更したい場合は、7行目と8行目のシート名をそれぞれ変更しましょう。
また、反映するセル範囲を変更したい場合は10行目の「("A1:B5")」のセル範囲を変更しましょう。
コードを貼り付けたら、「保存」を選択します。
「名前を付けて保存」ダイアログボックスが表示されます。
①保存場所(例:デスクトップ)を選択します。
③ファイルの種類で「Excel マクロ有効ブック」を選択し、④保存ボタンを押します。
以上でマクロの設定が完了しました。
シートに戻り、①「開発」タブ、②「マクロ」の順に選択します。
「マクロ」ダイアログボックスが表示されました。
①作成したマクロ(例:反映する)を選択し、②「実行」ボタンを押します。
Sheet2にSheet1の値が反映されました。
マクロを使用する場合、Sheet1の元の値を変更してもSheet2の値は自動的に変更されません。
Sheet1の値を変更した場合は、再度マクロを実行してSheet2に変更後の値を反映しましょう。