[GAS]スプレッドシート データのコピー
ビジネススキル
-
- 公開日
-
- 最終更新日
エンプロススタッフ
前回GoogleAppsScript[GAS]の導入について書いた小林です。
あれから1月、皆さんの生活に変化はあったでしょうか?私は・・・散髪しました。
スプレッドシートのデータのコピー
今回はスプレッドシートのデータのコピーについて書いていきます。
スプレッドシートやExcelを自動化していく中で一度は使いたい場面が出てくると思います。
例えば、ファイルAのデータをファイルBへコピーしたい。
そんな時にはこんな方法はどうでしょうか。
以下の様にファイルAとファイルB、2つのファイルがある場合。
ファイルBのセル[B5]と[C5]にそれぞれファイルAのセル[A2]と[B2]の値をコピーする方法を説明していきます。
スクリプトエディタの起動や、コードの入力画面等については前回やりましたので、今回はいきなりコードの紹介から。
ではいきましょう!!
コードを入力!!・・・
まずは今回入力していただくコードを見て下さい。
あら、意外と短いですね。
では何がしたいのか概要を
function getSheetA(){
var file = DriveApp.getFilesByName(“シートA“);
var sheetA = SpreadsheetApp.open(file.next());
SpreadsheetApp.getActiveSheet().getRange(“B5“).setValue(sheetA.getRange(“A2“).getValue());
SpreadsheetApp.getActiveSheet().getRange(“C5“).setValue(sheetA.getRange(“B2“).getValue());
}
このコードについて順番に説明していきましょう。
1行目・・・var file = DriveApp.getFilesByName(“シートA“);
この部分では、データを取り出したいファイルを指定します。
[シートA]の部分に呼び出したいファイル名を記入します。
※同じ名前のファイルが複数ある場合、思い通りのファイルを取るためにはもうひと手間必要ですが、
今回は割愛します。
2行目・・・var sheetA = SpreadsheetApp.open(file.next());
この部分で指定したファイルを開いています。
3行目・・・SpreadsheetApp.getActiveSheet().getRange(“B5“).setValue(sheetA.getRange(“A2“).getValue());
そしてこの部分でファイルAのセル[B5]のデータをコピーし、ファイルBのセル[A2]へ貼り付けしています。
[B5]の部分にコピーしたいセル番号を記入し、[A2]の部分に貼り付けしたいセル番号を記入します。
4行目・・・SpreadsheetApp.getActiveSheet().getRange(“C5“).setValue(sheetA.getRange(“B2“).getValue());
先程と同じ処理をしています。今度はファイルAのセル[C5]をコピーしファイルBのセル[B2]へ貼り付けしています。
ここまで記入できれば実際にコードを実行し、動作を確認してみます。
コードを実行!!
ここでスクリプトエディタ画面を見ると画面の中に[実行]というボタンがあります。
このボタンをクリックし、更に実行したい処理を選んでクリックします。
この時に表示されるのは、コード入力時に最初に入力する、function getSheetA(){・・・の[getSheetA]の部分が表示されます。
※この部分を関数名と呼びます。関数についてはここで説明しています。
ちなみに、最初に実行する時には、[承認]画面が2度表示されます。
いずれも認証、または続行ボタンを押します。
後はしばらく待ってファイルBのスプレッドシートを確認すると・・・
無事にデータをコピーすることが出来ました。
これで別のファイルにデータをコピーすることが出来ました。
今回はここまで、次回はコピーするデータが多い場合に有効な方法について説明します。
それではまた次回!!
LINEをつかって友達や家族にこの記事を教える
シェアボタン