0
0

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 3 years have passed since last update.

【GAS×スプレッドシート】アクティブなセルへの移動について

Posted at

概要

アクティブなセルへ移動させる動きを実装しようとしてハマってしまったので備忘録として記載。

達成したいこと

・スプレッドシート上に設置したボタンを押したら現在のアクティブなセルに画面を移動させる

##達成したいことのイメージ動画
ezgif.com-video-to-gif.gif

#スクリプト

期待した出力にならないスクリプト

main.gs
function moveActiveCell(){
  var spreadSheet  = SpreadsheetApp.getActiveSpreadsheet();
  var ss           = spreadSheet.getActiveSheet();
  var activeCell   = ss.getActiveCell();
  var activeColumn = activeCell.getColumn();
  var activeRow    = activeCell.getRow();
  ss.getRange(activeRow , activeColumn).activate();
}

上記のコードはスクリプトとしては正しいコードであるが、
現在のアクティブセルを取得して、そのセルをアクティブにしているだけなので
画面をアクティブなセルに移動させることはできない。

今回は厳密に特定のセルをアクティブにしたいという要件ではなく
画面を移動させれば良いという要件であったため下記のように実装した。

期待した出力のスクリプト(1例)

main.gs
function moveActiveCell(){
  var spreadSheet  = SpreadsheetApp.getActiveSpreadsheet();
  var ss           = spreadSheet.getActiveSheet();
  var activeCell   = ss.getActiveCell();
  var activeColumn = activeCell.getColumn();
  var activeRow    = activeCell.getRow();
  ss.getRange(activeRow + 1 , activeColumn).activate();
}

上記のように実装すれば期待通りにアクティブなセル(の近くに)画面が移動するようになる。

以上

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?