【GAS】シートを開いたときに特定のセルを検索しアクティブにする方法(Gスプレッドシート)

基礎講座

GAS基礎講座一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS】非表示の行を一気に削除する方法(Gスプレッドシート)
GASを使用して
  • 非表示の行を一気に削除できます。
  • 降順のループの使い方がわかります。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    • 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()

    とやれば、最終位置がアクティブになります。

     

     

     

    コメント

    1. ますだともみ より:

      いつもこちらで学ばせて頂いたています。
      GAS初心者です。
      こちらのスクリプトで業務改善を行っていますが、このアクティブなセルに色をつけたいです。

      sh.getRange(〇〇).setBackground(‘red’);

      このようなスクリプトをどこかに記述するべきだと思うのですが、どこにどのように書いていいかわかりません。

      よろしければ教えていただけませんか?

      • hiroshi より:

        ますだともみさん
        コメントありがとうございます。

        getRange(〇〇)の〇〇がわかってさえいれば、
        どこで呼んでもいいですよ。

        大丈夫です!

        色んなところで呼んでみてください。

    タイトルとURLをコピーしました