こんにちは!
今回は「GASで一括でセル結合する方法」についてお伝えしたいと思います。
1回だけ結合するのは Rangeクラス.merge()
を使えばできますが、一括で垂直(水平)方向に結合する方法についてお伝えしたいと思います。
横方向に結合する:mergeAcross()
一括で横方向に結合するのはmergeAcross()を使うことで、解決できます。
以下は横方向に結合する前の状態です。
B列〜D列を横方向に結合するときの書き方はこのようになります。
const mergeAcross = () => {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // ブック取得
const TARGET_SHEET_NAME = '検証'; // 対象のシート名
const sheet = spreadsheet.getSheetByName(TARGET_SHEET_NAME);
// 範囲(B1:D4)セルを横方向に結合
sheet.getRange(1, 2, 4, 3).mergeAcross();
};
実行結果
1行目〜4行目のB列〜D列を横方向に結合することができました!
縦方向に結合する:mergeAcross()
同様に、一括で縦方向に結合するのはmergeAcross()を使うことで、解決できます。
以下は縦方向に結合する前の状態です。
B列〜D列を縦方向に結合するときの書き方はこのようになります。
const mergeVertically = () => {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // ブック取得
const TARGET_SHEET_NAME = '検証'; // 対象のシート名
const sheet = spreadsheet.getSheetByName(TARGET_SHEET_NAME);
// 範囲(B2:D4)セルを縦方向に結合
sheet.getRange(2, 2, 3, 2).mergeVertically();
};
実行結果
2行目〜4行目のB列〜C列を横方向に結合することができました!
参考
https://developers.google.com/apps-script/reference/spreadsheet/range
以上、お疲れさまでした〜🍵