前提・実現したいこと
三点リーダーを改行に置換するスクリプトを使っているのですが
複数セルをコピペするとすべてのセルが先頭のセルと同じ値になります
該当のソースコード
function onEdit(e) {
// 編集されたセルを取得
var range = e.range;
// セルの値を取得
var before = e.range.getValue();
// '…'を改行文字に変換
var replaceword = /…/g;
var after = before.replace(replaceword, '\n');
// 変換後文字列をセルに設定
range.setValue(after);
}
「複数セルをコピペするとすべてのセルが先頭のセルと同じ値になります」というのは、具体的にはどんな操作をして、結果として何が起きたという事なのですか?
質問のプログラムは、1つのセルの三点リーダを改行文字に置換するもので、複数セルとか先頭のセルとかとの関連が判りません。
具体例としては
A列をすべてB列にコピペしたときに
A1の値がB1以下すべてに反映される...といった感じです
B1にはA1の置換後文字列、B2にはA2の置換後文字列を入れたいという意味で、現在はA1がすべてに入るという意味ですか? であれば、コードはそうなるように書いてると思うので、誤動作ではないと思うのですが
そうなんですか…?
「三点リーダーを改行文字に置換する」という機能以外は不要なんですが、
どこを改善すれば上記の動作を防ぐことができますか?
getValues と setValues をぐぐって調べてみてください