【GAS】 特定の値を今日の日付位置に貼りつける方法(検索、コピペ)

応用

GAS基礎講座一覧

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

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

前回

【GAS】シートを開いたときに特定のセルを検索しアクティブにする方法(Gスプレッドシート)
  • GAS内で文字列を検索する方法がわかります。
  • セルを移動させる方法がわかります。
  • シートを開いたときにコマンドを実行する方法がわかります。
  • 今回は、とっても価値の高い方法をお伝えします。


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

      • GASで文字列を検索する方法がわかります。
      • GASで今日の日付を検索し文字列をコピペする方法がわかります。

    逆に、知らないと

    毎回、シートを開く度に同じ操作を強いられることになります。

    なので、サクッとマスターして

    と答えてあげてください。

    動画はこちら

    【GAS】Googleスプレッドシート 今日の日付位置に定型文をコピペする

    シートはこちら

    *クリックすることでシートが開きます。

     

     

    スクリプト

    function templepast() {
      const sh = SpreadsheetApp.getActiveSheet()
      const vals = sh.getRange("B2:F2").getValues()
      console.log(vals)
    
    
      //今日の日付を取得
      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) {  //見つかった
        const rowtoday = ranges[0].getRow()
        console.log(rowtoday)
        sh.getRange(rowtoday,2,1,5).setValues(vals)
        sh.getRange(rowtoday,5).activate()
      }
    }

    ポイント

     

     

    日付の整形

    日付を検索するためには、表示されている文字列と同じにする必要があります。
    なので、フォーマットを指定して今日の日付を取得します。

    let today = newDate()
    today = Utilities.formatDate(today, 'JST', 'yyyy/MM/dd')
    文字列を検索

    文字列の検索には、createTextFinderを使用します。

      let textFinder = sh.createTextFinder(today);//テキストの検索
      let ranges = textFinder.findAll();
    見つかった文字の数がranges.lengthで取得できます。

     

    ranges[0].getRow()で、見つかった行を取得できます。

    今回作成した関数を使用するにはこちら↓

    【GAS】GAS(マクロ)を手軽にメニューやボタンから実行する方法(カスタムメニュー)
  • GAS(マクロ)をスプレッドシートのメニューから実行することができます。
  • GAS(マクロ)をボタンのクリックで実行することができます。
  • 最後までご覧いただきありがとうございます。

    つぎはこちら

    【GAS基礎講座】 Excelの串刺し計算をGoogleスプレッドシートで実現する
    スプレッドシートでExcelの串刺し計算が実現できます。 GASでシート名を取得したり、ループさせる方法がわかります。

    GAS基礎講座一覧

    コメント

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