0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【GAS】シート名をセルから入力する

Posted at

はじめに

スプレッドシートにて、シート内にシート名を入力するセルがあり、そのセルの値を変更した際にシート名も自動で変えたかったので、方法をメモ。

内容

以前、シートを編集した際に更新日時を自動で更新する方法を記載したが、その方法と似ている。
(参考)【GAS】シートの最終更新日を自動入力する

シート名の自動更新
function getUpdateTime(e){
  const range = e.range;
  const sheet = range.getSheet();

  if(range.getRow() == 3 && range.getColumn() == 11){
    sheet.getRange('K5').setValue(Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy-MM-dd"));
    sheet.setName(sheet.getRange('K3').getValue());
  }
}

詳細

まず、セルを編集した際に呼ばれる関数を適当に作成する。
その関数にて、編集したセルの位置が指定したセルに一致したなら、シート名をsheet.setName()にて設定する。

1つ注意しておきたいのは、この関数が呼ばれるのはどうやらセルを編集した後らしいので、編集したシート名が特定のシート名と一致したなら、~のような条件をif文の条件に含めてしまうとif文に入らなくなってしまうことだ。

まとめ

まとめると、セル編集時にsheet.setName()を呼ぶことでシート名を変更できる。
セルに入力するだけで自動で何かを更新できるようになると、ユーザにとっては便利になることが多いはずなので、今後も調べつつメモしていこうかと思う。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?