2023.04.01スプレッドシートを使っていて、シートのコピーを作成したいことって多いですよね。複数のシートを作るのに時間が掛かる雛形(テンプレート)シートを自動でコピーできたらいいのに...他のファイルにコピーする操作が面倒この記事では、GASを使ってスプレッドシートをコピーする方法をご紹介します。GASでコピーできるようになれば、複数のシートを短時間で作ることができます。シートのコピーはGASが自動で行ってくれるので、自分は他の仕事が出来るといったメリットもあります。こんな人におすすめシートのコピーを自動化したい短時間で複数のシートを作りたい雛形(テンプレート)を決まった数だけ複製したいリンクリンク目次はじめに準備するものコピーまでの流れ1.同じファイル内にシートをコピーする2.他のファイルにシートをコピーする3.決まった数だけシートをコピーするまとめはじめに今回は以下の3パターンを想定してスクリプトを考えていきます。今回の想定パターン同じファイル内にシートをコピーする他のファイルにシートをコピーするシートを複数回コピーする準備するものスプレッドシートを開いて、コピーしたいシートを作成しましょう。(コピー先を別のスプレッドシートにしたい場合は、ファイルをもう1つ開いて下さい。)以下の例では、シート名を”テンプレート”として、コピーしたいシートに雛形を作成してみました。今回はこれをコピーしていきます。ちなみに、後述の解説がややこしくならないように、スプレッドシートの構成を簡単に図解しました。後述の解説では、ファイル=下図2のSpreadsheet、シート=下図3のSheetを表します。”ファイル”とか”シート”という言葉がややこしく感じたときは、見直してみて下さい。コピーまでの流れ基本的な流れは以下のとおりです。後述しますが、決まった数だけシートをコピーしたい場合は、for文を使って同じ処理を繰り返していきます。Script】スプレッドシートを使っていて、データを転記する機会って意外と多いですよね。こんな経験ありませんか?同じ内容を何回も手打ちするのが面倒データが多いと時間が掛かる手打ちで転記している間に記載内容を間違った...yuto-lifestyle-blog.com2022.12.191.同じファイル内にシートをコピーする下の図のように、同じスプレッドシートファイル内にシートをコピーしていく方法です。前述の通り、コピーしたいシートを取得してcopyToメソッドでシートをコピーしていきます。//取得したシートを現在開いているファイルに複製}今回はgetActiveSpreadsheet()で現在開いているスプレッドシートを取得し、getSheetByNameでシート名を指定してコピー元となるシート(テンプレート)を取得しました。(メニューボタンからスクリプトを実行したい場合は過去の記事をご参照下さい。使用する際にどのようにスクリプトを実行していますか?毎回スクリプトエディタを開いて実行するの手間だし、画像や図形にスクリプトを紐付けるのも面倒ですよ...yuto-lifestyle-blog.com2022.11.08”テンプレート”シートの右隣に”テンプレートのコピー”が作成されていますね。2.他のファイルにシートをコピーする続いて、コピー先のスプレッドシートファイルが異なる場合の解説です。今回はコピー元のシートがあるファイルを”オリジナルファイル”、シートのコピー先となるファイルを”コピー先ファイル”と名前をつけました。1の方法と異なるのは、コピー先のファイルを取得する作業が増えるという点です。”オリジナルファイル”はgetActiveSpreadsheet()で取得できますが、コピー先ファイルはURLまたはIDのいずれかを使って取得します。URLまたはIDでファイルを取得する方法について詳しく知りたい方は、過去の記事をご参照下さい。//取得したシートを”コピー先ファイル”に複製}スクリプトを実行するとこんな感じになります↓コピー元ファイルにあったテンプレートが、コピー先ファイルに複製されていますね。スポンサーリンク3.決まった数だけシートをコピーするシートを複数回コピーしたいという方は、for文で繰り返し処理を実行しましょう。Script】プログラミングに欠かせない基本的な文法っていくつかありますよね?その中の1つが繰り返し処理です。繰り返し処理にもいくつか種類がありますが、初めにイメージするのはfor文ではないでしょうか。この記事では、回数を指定し...yuto-lifestyle-blog.com2023.02.05今回は、1でご紹介したオリジナルファイル内に同じシートを5回コピーします。i<=〇の部分に任意の数字を入れると、その回数だけシートがコピーされます。先程のサンプルコードと異なるのは、sheet.copyTo()をfor文の中に記述しているという点です。他のファイル内にシートを複数回コピーする場合も、for文の中にsheet.copyTo()を記述すれば同様の処理が実行可能です。}}スクリプトを実行するとこんな感じになります↓スポンサーリンクまとめ今回は、GASを使ってスプレッドシートをコピーする方法についてご紹介しました。同じシート内にコピーする場合でも、他のファイルにコピーする場合でも、copyTo()メソッドを使用することで簡単に実行できます。コピーゆっとゆっとの日常。以前の記事で、GASの配列についてご紹介しました。配列のイメージを持ってもらうと共に、初期化や、参照、代入などの基本的な操作について解説しましたね。実は、配列には続きがあります。入力ボックスに打ち込んだ情報をスプレッドシートに反映したいことってありますよね。そもそも配列って何?という方や、聞いたことはあるけど何かは分からない、知っているけどイマイチ使いこなせないなど様々だと思います。最終行(最終列)を取得できると以下のようなメリットがあります。以前の記事で、GASの配列についてご紹介しました。初期化や、参照、代入といった操作を行うことで、配列内の要素を定義したり、インデックスを指定して要素の取り出し、置き換えができましたね。Script】スプレッドシートを使っていると、枠線を設定する機会が多々あります。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Comments表示できるコメントはありません。ScriptPC・プログラミングPythonゆっとの日常。Comments表示できるコメントはありません。ScriptPC・プログラミングPythonタイトルとURLをコピーしました。