セル範囲を操作する

【GAS】スプレッドシートに空白セルを挿入する

GASでスプレッドシートに空白セルを挿入するには「insertCells(shiftDimension)」を利用する。

insertCells(shiftDimension)

この範囲に空のセルを挿入します。新しいセルは、以前はこの範囲を占有していたセルの書式を維持します。指定されたディメンションに沿ってシート内の既存のデータが、挿入された範囲からずれています。

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

スプレッドシートに空白セルを挿入するGAS実行の様子

insertCells(shiftDimension)メソッドを利用して、スプレッドシートに空白セルを挿入するGASを実行してみました。

insertCells(shiftDimension)
insertCells(shiftDimension)を実行した様子

insertCells(shiftDimension)を実行したことで、30行目まで繰り返し入力されたテキストの間に、空白セル(背景黄色)が挿入されたことが確認できます。

スプレッドシートに複数行を挿入する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートに複数行を挿入する

スプレッドシートに空白セルを挿入するGAS

function insertCells(){
  //SpreadSheetAppを起動
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //0番目のシートを取得
  var sht = ss.getSheets()[0];
 //シートコンテンツをクリアする
  sht.clear();
  //30行分のコンテンツを繰り返し設置
  for(var i=1;i<=30;i++){
    let text = [
      ["Spread","Sheet","Blue"]
    ];
    sht.getRange(i,1,1,3).setValues(text);
  }
  //YESNOで作業の有無を確認
  const yesno = Browser.msgBox("空白セルを挿入しますか?",Browser.Buttons.YES_NO_CANCEL);
  //YESだったら、
  if(yesno == "yes"){
    //空白セルを挿入するための始点セルを入力
    const start = Browser.inputBox("空白セルを挿入するための始点セルを入力して下さい(A1形式)");
    //空白セルを挿入するための終点セルを入力
    const end = Browser.inputBox("空白セルを挿入するための終点セルを入力して下さい(A1形式)");
    //始点:終点セルをアクティブに
    var range = sht.getRange(start+":"+end);
    //■insertCellsで指定範囲に空白セルを挿入して下にずらす
    range.insertCells(SpreadsheetApp.Dimension.ROWS);
    //空白セルを挿入したセル範囲の背景を黄色に
    range.setBackground("yellow");
    Browser.msgBox("空白セルを挿入しました(黄色部分)");
  //Noだったら
  }else{
    //作業を中止する旨を掲載
    Browser.msgBox("作業を中止しました");
  }
}

insertCells(shiftDimension)のパラメーター

名前説明
shiftDimensionDimension既存のデータを移行するディメンション。
insertCells(shiftDimension)のパラメーター

insertCells(shiftDimension)の戻り値

Range - チェーン用の範囲。

スプレッドシートに空白セルを挿入するまとめ

GAS×スプレッドシートに空白セルを挿入するならinsertCells(shiftDimension)メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの空白セルを判定する

関連記事:【GAS】スプレッドシートに複数行を挿入する

関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する

関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する

-セル範囲を操作する