前提・実現したいこと
ここに質問の内容を詳しく書いてください。
指定した日付の下に、コピー元を貼り付けるためのGASを作っています。
マクロは経験ありますが、GASは初心者ですので人様のコードを見様見真似で作っている段階です。
発生している問題・エラーメッセージ
エラーメッセージ 参照元の日付が反映されない。
該当のソースコード
function myFunction2() { var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('サマリ'); var sh2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('rennsyuu'); var str = sh.getRange(2,3).getDisplayValue() //str1の日付をログに残す Logger.log("strの日付"); Logger.log(str); //コピペするシートを決める var Copy = sh.getRange(2,11,18,1).getValues() Logger.log("コピーした数値") Logger.log(Copy) var cells = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('rennsyuu').getRange(2, 2, 1, 31); var cell = getMatchRange(cells, str); if(cell === void 0){ SpreadsheetApp.getUi().alert("指定した値のセルが見つかりませんでした。"); } else { cell.offset(1,0).setValue(Copy) } } //指定した値にマッチする最初のセルを返す function getMatchRange(cells, str) { var reg = new RegExp("^" + str + "$"); //必要に応じて条件は変更 for (var col = 1; col <= cells.getNumColumns(); col++) { for (var row = 1; row <= cells.getNumRows(); row++) { var cell = cells.getCell(row, col); if (cell.getValue().match(reg)) { return cell; } } } }
試したこと
書式の問題かと思い、getValue()をgetDisplayValue()に修正しましたが解決しませんでした。
どこが間違っているのか、2日ほどかけて色々なサイトを参考にしましたが解決策が思いつかないので助けていただきたいです。
ひとつづつGASの基礎を学んでいる段階ですので、是非ご教授いただきたいです。実務で使う予定のものなので、急ぎ解決したいと思い質問しました。
補足情報(FW/ツールのバージョンなど)
標準的な環境だと思います。 OSも最新ですし、GoogleChromeで作業しています。 なにか特殊なAPIなどは入れていません。
補足として画像を添付いたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/05 00:21
2020/10/05 02:10
2020/10/05 03:20