セル範囲を操作する

【GAS】スプレッドシートで結合セルを解除する

GASでスプレッドシートでセル結合を解除するには「breakApart()」を利用する。

breakApart()

範囲内の複数列のセルを再度個々のセルに分割します。 特定の範囲でこの関数を呼び出すことは、範囲を選択して [形式] -> [結合] -> [結合を解除] をクリックするのと同じです。

https://developers.google.com/apps-script/reference/spreadsheet/range#breakapart

スプレッドシートでセル結合を解除するGAS実行の様子

breakApart()メソッドを利用して、スプレッドシートでセル結合を解除するGASを実行してみました。

breakApart()を実行したことで、指定範囲のセルを解除できることが分かります。

スプレッドシートの範囲をセル結合する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートの範囲をセル結合する

スプレッドシートでセル結合を解除するGAS

function ketugoukaijo(){
  //SpreadsheetAppを起動
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  //0番目のシートを選択
  let sht = ss.getSheets()[0];
 //シートコンテンツをクリア
  sht.clear();
 //結合開始セルをstartに格納
  const start = Browser.inputBox("結合する開始セルを選択してください");
  //結合終了セルをendへ格納
  const end = Browser.inputBox("結合する終了セルを選択してください");
 //結合セル範囲をrangeへ格納
  const range =sht.getRange(start+":"+end);
 //range範囲をアクティブに・背景黄色に・セル結合
  range
  .activate()
  .setBackground("yellow")
  .merge();
 //YESNOでセル結合可否確認
  const yesno = Browser.msgBox("セル結合を解除しますか?",Browser.Buttons.YES_NO);
 //YESなら
  if(yesno == "yes"){
    //rangeの背景を白に・■breakApartでセル結合を解除
    range
    .setBackground('#fff')
    .breakApart();
    //セル結合解除した旨を掲載
    Browser.msgBox("結合セルを解除して背景色もリセットしました");
  }else{
    //セル結合しなかった旨を掲載
    Browser.msgBox("任意のセル範囲を結合しました");
  }
}

breakApart()の戻り値

Range - チェーン用の範囲。

スプレッドシートでセル結合を解除するまとめ

GAS×スプレッドシートでセル結合を解除するならbreakApart()メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの範囲をセル結合する

関連記事:【GAS】スプレッドシートにチェックボックスを挿入する

関連記事:【GAS】スプレッドシートに検証がオン状態のチェックボックスを挿入する

関連記事:【GAS】スプレッドシートにオン / オフ値があるチェックボックスを挿入する

関連記事:【GAS】スプレッドシートのチェックボックスがチェック済みか確認する

-セル範囲を操作する