タスク管理がしたいです。
スクリプトを使って「タスク」シートから「タスク完了」シートに転記するスクリプトを書きました。
このスクリプトを同じブック?内の「田中のタスク」を「田中のタスク完了」
「鈴木のタスク」を「鈴木のタスク完了」「林のタスク」を「林のタスク完了」と
色々なシートに反映させたかったのですが、うまくいきませんでした。
(そもそもシートごとにコードが記述出来ると思っておりました)
本当に初心者でユーチューブを見ながら見よう見まねで書いたので、
検索したり、var ssをashに変えたりシート名を増やしたりしてみましたが
お手上げでした。どなたか、わかる方いらっしゃいますでしょうか。
GAS
1var ss = SpreadsheetApp.getActiveSpreadsheet(); 2var main_s = ss.getSheetByName('タスク'); 3var comp_s = ss.getSheetByName('完了タスク'); 4 5function comp(){ 6 var select_row = main_s.getActiveCell().getRow(); 7 var insert_row = comp_s.getRange('B:B').getValues().filter(String).length + 2; 8 var max_row = main_s.getMaxRows(); 9 10 comp_s.getRange(insert_row,2,1,25).setValues( 11 main_s.getRange(select_row,2,1,25).getValues() 12 ); 13 14 main_s.getRange(select_row,2,max_row - select_row,25).setValues( 15 main_s.getRange(select_row + 1,2,max_row - select_row,25).getValues() 16 ); 17 18} 19 20 21function reset(){ 22 var select_row = comp_s.getActiveCell().getRow(); 23 var insert_row = main_s.getRange('B:B').getValues().filter(String).length + 2; 24 var max_row = comp_s.getMaxRows(); 25 26 main_s.getRange(insert_row,2,1,25).setValues( 27 comp_s.getRange(select_row,2,1,25).getValues() 28 ); 29 30 comp_s.getRange(select_row,2,max_row - select_row,25).setValues( 31 comp_s.getRange(select_row + 1,2,max_row - select_row,25).getValues() 32 ); 33 34} 35 36 37
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/01 02:06