ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】シートを開いたときに特定のセルを検索しアクティブにする方法(Gスプレッドシート)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
-
- GASで文字列を検索する方法がわかります。
- GASで今日の日付を検索し文字列をコピペする方法がわかります。
毎回、シートを開く度に同じ操作を強いられることになります。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)
スクリプト
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基礎講座】 Excelの串刺し計算をGoogleスプレッドシートで実現する
スプレッドシートでExcelの串刺し計算が実現できます。
GASでシート名を取得したり、ループさせる方法がわかります。