ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【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種類の指定方法がわかります。
コメント