ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】チェックされた行を一気に非表示にする方法
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- GAS内で文字列を検索する方法がわかります。
- セルを移動させる方法がわかります。
- シートを開いたときにコマンドを実行する方法がわかります。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
スクリプト
function onOpen() {
// function testactive() {
const ss = SpreadsheetApp.getActiveSpreadsheet()
const sh = ss.getSheetByName('横並び').activate()
let today = new Date()
// today = Utilities.formatDate(today,'JST','yyyy/MM/dd')
today = Utilities.formatDate(today, 'JST', 'yyyy年M月d日')
console.log(today)
let textFinder = sh.createTextFinder(today);//テキストの検索
let ranges = textFinder.findAll();
if (ranges.length > 0) {
ranges[0].activate()
}
// let ncont = ranges.length;//個数の取得
// console.log( "個数=",ncont);
// for( i=0;i<ncont;i++){
// console.log( ranges[i].getA1Notation());
// ranges[i].activate()
// }
console.log(ranges[0].getRow())
sh.getRange(ranges[0].getRow(), 7).setValue(today)
}
ポイント
onOpen
: スプレッドシートを開くとここに飛んできます。
横並び
: シート名を変更する場合は、ここを変更してください。
ranges[0].activate()
検索結果が複数ある場合は、先頭セルがアクティブになります。
一番最後をアクティブにしたい場合は、
ranges[ranges.length-1].activate()
とやれば、最終位置がアクティブになります。
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】特定の値を今日の日付位置に貼りつける方法(検索、コピペ)
コメント
いつもこちらで学ばせて頂いたています。
GAS初心者です。
こちらのスクリプトで業務改善を行っていますが、このアクティブなセルに色をつけたいです。
sh.getRange(〇〇).setBackground(‘red’);
このようなスクリプトをどこかに記述するべきだと思うのですが、どこにどのように書いていいかわかりません。
よろしければ教えていただけませんか?
ますだともみさん
コメントありがとうございます。
getRange(〇〇)の〇〇がわかってさえいれば、
どこで呼んでもいいですよ。
大丈夫です!
色んなところで呼んでみてください。