【初めてのGAS 7.】一覧の最下行の情報をテンプレに入力する方法<実践編>

初めてのGAS講座

初めてのGAS一覧

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

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

前回

【GAS】GAS(マクロ)を手軽にメニューやボタンから実行する方法(カスタムメニュー)
  • GAS(マクロ)をスプレッドシートのメニューから実行することができます。
  • GAS(マクロ)をボタンのクリックで実行することができます。
  • 今回は、とっても価値の高い方法をお伝えします。


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

    • 一覧の最下行の情報を別のシートにコピーすることができます。
    • 日付をテンプレに展開する方法がわかります。

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

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

    動画はこちら

    スクリプトはこちら

    function itemset() {
      const ss = SpreadsheetApp.getActiveSpreadsheet()
      const shlist = ss.getSheetByName("一覧")    //一覧シート
      const sh = ss.getActiveSheet()
    
    
      const lrow = shlist.getLastRow()  //最下行の取得
      console.log(lrow)
    
    
      const CM_DATE = 1 //日付
      const CM_SERIAL = 4 //シリアル番号
      const CM_TITLE = 5 //タイトル
    
    
      console.log( shlist.getRange(lrow,CM_DATE).getValue()) //日付
      console.log( shlist.getRange(lrow,CM_SERIAL).getValue()) //シリアル番号
      console.log( shlist.getRange(lrow,CM_TITLE).getValue()) //タイトル
    
    
    
      const INFO_CLM = 2
      sh.getRange(1,INFO_CLM).setValue(shlist.getRange(lrow,CM_TITLE).getValue())  //タイトル
      sh.getRange(2,INFO_CLM).setValue(shlist.getRange(lrow,CM_DATE).getValue())  //タイトル
      sh.getRange(5,INFO_CLM).setValue(shlist.getRange(lrow,CM_SERIAL).getValue())  //タイトル
    
    
    
    }

    ポイント

    const CM_DATE = 1 //日付

    といったconstでわざわざ数字を定義しています。
    これは、そのまま数字を使ってもいいのですが、

    shlist.getRange(lrow,1).getValue()
    とやるより
    shlist.getRange(lrow,CM_TITLE).getValue()

    の方がソースの意味がわかり見やすくなるからです。

    また、色んなところでCM_TITLEを使用していて
    シートのカラム位置を変更した場合、const した箇所のみ
    変更すればよいので、保守も簡単になります。

     

     

     

     

    最後までご覧いただきありがとうございます。

    つぎはこちら

    【GAS】カーソルを指定したセルに移動させる方法(Gスプレッドシート)
    GASで特定のセルにフォーカスを移動させることができます。 セルの2種類の指定方法がわかります。

    初めてのGAS一覧

    コメント

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