セル範囲を操作する

【GAS】スプレッドシートにデータが存在する範囲を取得する

GASでスプレッドシートにデータが存在する範囲を取得するには「getDataRange()」を利用する。

getDataRange()

データが存在するディメンションに対応するRangeを返します。 これは、A1と(Sheet.getLastColumn()、Sheet.getLastRow())で囲まれた範囲を作成することと機能的に同等です。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=en#getdatarange

スプレッドシートにデータが存在する範囲を取得するGAS実行の様子

getDataRange()メソッドを利用して、スプレッドシートにデータが存在する範囲を取得するGASを実行してみました。

getDataRange()-yes
getDataRange()を実行した様子

getDataRange()メソッドは基本的に

上記をかけ合わせた動作と同じように、データが存在する全ての範囲を取得します。

getRange(a1Notation)メソッドでスプレッドシートのセル範囲をA1形式で指定・選択する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートでセル範囲をA1形式で指定・選択する

スプレッドシートにデータが存在する範囲を取得するGAS

function getDataRange1(){
  //SpreadsheetAppを起動
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //0番目のシートを選択
  var sht = ss.getSheets()[0];
  //■getDataRangeでデータが存在する範囲を取得
  var rng = sht.getDataRange().getValues();

  //YESNOで確認
  var yesno = Browser.msgBox("シートに入力されている値を取得しますか?",Browser.Buttons.YES_NO_CANCEL);

 //ーーーーー条件分岐ーーーーー
  //YESだったら
  if(yesno == "yes"){
    //取得した値をメッセージボックスで表示する
    Browser.msgBox("取得した値は「"+rng+"」です!");
  //NOなら
  }else{
    //取得しない旨を掲載する
    Browser.msgBox("値は取得しませんでした");
    //A1をアクティブに
    sht.getRange(1,1).activate();
  }
 //ーーーーーここまでーーーーー
}

getDataRange()の戻り値

Range—スプレッドシート内のすべてのデータで構成される範囲

スプレッドシートにデータが存在する範囲を取得するまとめ

GAS×スプレッドシートにデータが存在する範囲を取得するならgetDataRange()メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートでセル範囲をA1形式で指定・選択する

関連記事:【GAS】スプレッドシートで指定範囲をアクティブシートの選択セルに設定する

関連記事:【GAS】スプレッドシートでアクティブな範囲のリストを取得する

関連記事:【GAS】スプレッドシートの選択された範囲を取得する

関連記事:【GAS】スプレッドシートのアクティブなセルを取得するgetCurrentCell編

関連記事:【GAS】スプレッドシートのアクティブなセルを取得する

-セル範囲を操作する