セル範囲を操作する

【GAS】スプレッドシートのセル範囲に名前を付与する

GASでスプレッドシートのセル範囲に名前を付与するには「setNamedRange(name, range)」を利用する。

setNamedRange(name, range)

範囲に名前を付けます。

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

スプレッドシートのセル範囲に名前を付与するGAS実行の様子

setNamedRange(name, range)メソッドを利用して、スプレッドシートのセル範囲に名前を付与するGASを実行してみました。

setNamedRanges-yes
setNamedRangesを実行した様子

setNamedRange(name,range)では、

  • nameにString型を
  • rangeにセル範囲を

指定することで、rangeに対して名前を付与することが可能です。

名前を付与した範囲に対して操作を行うときに、setNamedeRange()は有効と言えるでしょう。

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

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

スプレッドシートのセル範囲に名前を付与するGAS

function setNamedRanges(){
//SpreadsheetAppを起動
var ss = SpreadsheetApp.getActiveSpreadsheet();
//0番目のシートを取得
var sht = ss.getSheets()[0];

//yesnoで名前付き範囲を付与するか確認
var yesno = Browser.msgBox("入力があるセル範囲に名前を付与しますか?",Browser.Buttons.OK_CANCEL);
//OKなら
if(yesno == "ok"){
  //名前付き範囲に設定する名前を入力
  var name = Browser.inputBox("範囲に付与する名前を入力してください");
  //取得した変数をString型に
  var rngname = name.toString();
  //値がある最終行を取得
  var rw = sht.getLastRow();
  //値がある最終列を取得
  var cl = sht.getLastColumn();
  //始点セルから最終セル範囲をアクティブに
  sht.getRange(1,1,rw,cl).activate();
  //■setNamedrangeでアクティブ範囲に名前を付与
  ss.setNamedRange(rngname, SpreadsheetApp.getActiveRange());
  //初めのセルをA1形式で取得
  var rng1 = sht.getRange(1,1).getA1Notation();
  //終わりのセルをA1形式で取得
  var rng2 = sht.getRange(rw,cl).getA1Notation();
  //メッセージで名前付き範囲について掲載
  Browser.msgBox("セル範囲「"+rng1+":"+rng2+"」に名前「"+rngname+"」を設定しました");
  //NOなら
}else{
  //名前を付与しない旨を掲載
  Browser.msgBox("名前は付与しませんでした");
}
}

setNamedRange(name, range)のパラメーター

名前タイプ説明
nameString範囲を指定する名前。
rangeRange範囲指定。
setNamedRange(name, range)のパラメーター

スプレッドシートのセル範囲に名前を付与するまとめ

GAS×スプレッドシートのセル範囲に名前を付与するならsetNamedRange(name, range)メソッドを利用しましょう。

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

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

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

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

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

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

-セル範囲を操作する