質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

990閲覧

【GAS】複数シートの内容を1つのシートに統合(セル内画像含む)

k.naoki

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/06/28 12:08

前提・実現したいこと

プログラム、GAS、teratail初心者です。
GASで複数のシートの値を一つのシートにまとめるプログラムを作成しています。

基本的には過去に別の方が質問されている以下の内容と同じなのですが、、、、

【GAS】複数のシートを一つのシートにまとめたいです。
https://teratail.com/questions/112018

こちらで紹介されているコードでほぼ要件は満たしているのですが、、、、
1点だけ解決できないことがあり、お知恵を頂きたく、質問させて下さい。

発生している問題・エラーメッセージ

今回、統合する元のデータに"セル内の画像"(挿入⇒画像⇒セル内の画像)があり、
このセル内画像がある状態でリンク先で紹介されている下記のGASを実行すると、
画像データを含む箇所が「CellImage」となってしまい、データの統合が上手く出来ません。
セル内画像が必須のデータである為、解決方法を探しております。
ご存知の方はいらっしゃいますでしょうか。

該当のソースコード

function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sh_all = spreadsheet.getSheetByName('all'); //コピー先のシート名all
var copy_column_range = 16 //コピーする列数
//全てのシートをallシートにコピー。
var c_sheet_cnt = spreadsheet.getSheets().length; //コピーするシート数
var last_l_row = 2; //何行目からコピーするか※すべてのシート
var dt_all_sheet = []; // 全てのシートのデータの配列
//全てのシートのデータを配列に格納してから書き出し
for (var i=0;i<c_sheet_cnt;i++){
var sheet = spreadsheet.getSheets()[i];
if (sheet.getName() === "all") {
continue;
}
var new_l_row = sheet.getLastRow(); //各シートの最終行を取得

//シートの値を配列に格納 var copyValue = sheet.getRange(2,1,new_l_row-1,copy_column_range).getValues(); var dt_all_sheet = dt_all_sheet.concat(copyValue); var last_l_row = last_l_row + new_l_row-1;

}
//sheet内容を書き出し
sh_all.getRange(2,3,dt_all_sheet.length,copy_column_range).setValues(dt_all_sheet);
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問