ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】手軽にシート名を取得する方法 GETSHEETNAME (Gスプレッドシート)
残念ながら、スプレッドシートでは、
CELL関数で"filename"がサポートされていません。
なのでスプレッドシートは、GASを使用しないと
シート名を取得する事ができないのです。
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- スプレッドシートを開いたときに自動的に動作(自動起動)させる方法がわかります。
- 最下行にカーソルを移動させる方法がわかります。
- 自由自在に自動的にカーソルを移動させることができます。
という状態になります。
逆に、知らないと
毎回、スプレッドシートを開いたあと、
まずは、「カーソル位置を最下行に移動させる」
という、「非生産的」で「不毛」な作業を
永遠に強いられることになります。
なので、一刻も早く、今回の手法を取り入れて
非生産的な作業から脱却してください。
そして
こんな、アドバイスをしてあげてください。
では、マインドセットします。
マインドセット
同じ作業を何度もするやつはバカ
同じ作業を何度もするやつはバカ
何度か、同じ作業が続いたら
なにかしら改善策がないか考えてください。
必ずそこには、お宝が眠っています。
では、今回の動画です。
動画はこちら
開くと動くスクリプト
動画では、サラッと流していますが
function onOpen(){ }
っていう関数を作れば、いいだけです。
シートを開くとonOpen()が勝手に動き出します。
function onOpen(){
const ss = SpreadsheetApp.getActiveSpreadsheet()
const sheet = ss.getActiveSheet()
//最下行
// let lr = sheet.getLastRow() + 1
// sheet.setActiveSelection("A" + lr)
//Ctrl+↓で移動させる
sheet.getRange('A2').activate()
sheet.getCurrentCell().getNextDataCell( SpreadsheetApp.Direction.DOWN).activate()
sheet.getActiveCell().offset(1,0).activate()
}
では、今回のGoogleシートマスターへの究極の方法です。
Step1.
スプレッドシート上で
Ctrl+↓を押してカーソルがどこに移動するか確認する
Step2.
目的の箇所であれば、GASに組み込む
Step3.
getLastRow()でよければ、getLastRow()にする
Step4.
関数名をonOpen()にする
Step5.
開いて動作することを確認する
スプレッドシート上で
Ctrl+↓を押してカーソルがどこに移動するか確認する
Step2.
目的の箇所であれば、GASに組み込む
Step3.
getLastRow()でよければ、getLastRow()にする
Step4.
関数名をonOpen()にする
Step5.
開いて動作することを確認する
では、早速、スプレッドシート上で「Ctrl+↓」を行ってください
今すぐです。
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】半角文字列を全角文字列に変換する方法(ExcelのJIS関数) (Gスプレッドシート)
コピペで半角文字列を全角文字列に変換できる関数が作れます。
「【GAS基礎講座 20.】 新スクリプトエディタ 完全攻略」
「【GAS】入力が30倍早くなる スクリプトエディタ ショートカットキー」
コメント
こんにちわ
いつも貴重な情報をありがとうございます。
ひろしさんのサイトで勉強して仕事で利用させてもらって、会社では神扱いされている素人スプレッダーです笑
今回相談したいことは「日報シートのタイトルを自動化したい」ということです。
【参考シート】
https://docs.google.com/spreadsheets/d/1BaYGKv-L56m-H-m19Q95djWIlCPKfDigY3QdvYzku6I/edit?usp=sharing
この日報シートに共有している4人が一日の作業内容を入力していき、日報として利用しています。
また過去の作業を確認するためのツールとしても使っています。(どの作業を何日にやったか?等)
現在、日報シート+リストシートで利用しているのですが、
出勤してから3・4行目をコピーして最終行に貼り付け、今日の日付を入力して利用しています。
作業内容を入力するとA列に今日の日付が入るようになっています。
またシートを開いたときに自動で今日の位置にジャンプするスクリプト(「リスト」のD列参照)を入れています。
これは今日の日付が入力されていないと機能しません。
ここで本題なのですが、3・4行目をコピーして最下部に挿入という作業を
0時にトリガーを発動させ自動化しようと思い、(スクリプト)を組みました。
「タイトル」シートを書式丸ごとコピーし、日報シートに挿入させたかったのですが、
知識不足でわからず、半年ほど悩んでおります。
なんとか実現できないでしょうか。
(スクリプト)の内容では、データが入っている最終行を取得しているので、
A列に仕込んでいる関数が邪魔です。
できればA列の仕掛けは残したまま、作業内容の最終行を取得出来たらいいのですが、
最悪なくてもいいです。
よろしくお願いいたします。
アンサー動画作りました。
https://youtu.be/OpjC3IHvf1E