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を実行してみました。
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)のパラメーター
名前 | タイプ | 説明 |
---|---|---|
name | String | 範囲を指定する名前。 |
range | Range | 範囲指定。 |
スプレッドシートのセル範囲に名前を付与するまとめ
GAS×スプレッドシートのセル範囲に名前を付与するならsetNamedRange(name, range)
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートでセル範囲をA1形式で指定・選択する
関連記事:【GAS】スプレッドシートで指定範囲をアクティブシートの選択セルに設定する
関連記事:【GAS】スプレッドシートでアクティブな範囲のリストを取得する
関連記事:【GAS】スプレッドシートの選択された範囲を取得する