列2の任意のセルに1から12の値を入れると、隣のセルに何らかの値を返すということをやっています。この例は3以下の場合はプラス12を行い(たとえば1と入れると13が返されます)、4から12なら同じ値が隣のセルにも入り、それ以外の値(たとえば99とか)の場合は、入力した値を取り消すという内容です。
問題はたとえばコピペで複数セルに「1」をいっぺんに入れた場合、最初のセルしか反応がないということです。これをすべてのセルに反応させるにはどうしたらよいでしょうか?ご存知のかた、よろしくお願い致します。
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var tc = e.range.getColumn();
var tr = e.range.getRow();
var tv = e.range.getValue();
if (tc==2) {
if (tv >=4 && tv <=12) {
sh.getRange(tr, 3).setValue(tv)
} else if (tv <= 3) {
sh.getRange(tr,3).setValue(tv+12);
} else {
// Browser.msgBox("1から12の整数を入力してください");
sh.getRange(tr, tc).setValue("")
}
}
}