質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

932閲覧

「コピペ」をした場合、パラメータから取得した「変更のあったシートの名前」が期待通りにならない。

koromo_t

総合スコア60

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2018/05/29 10:53

編集2018/05/30 00:08

前回投稿したこちらの質問と同様なのですが、ツールバーからの並べ替えだけでなく、
ctrl+c→ctrl+vやオートフィルなど「コピペ」をした場合(正確には「ペースト」した場合)も、
パラメータから取得した「変更のあったシートの名前」が期待通りにならないようです。
「並べ替え」の場合は自作の並び替えスクリプトを呼び出すことで対策できましたが、
コピペに関しては、いよいよ詰みのような気がしました。
が、もし何かいいアイデアがあるのであれば、教えていただけたら嬉しいです。
よろしくお願いします。

自己解決(2018/05/30 9:02)

ちょっと閃きまして。
期待するシート名にならない場合のシート名は常に「シート1」のものなので、
シート1に変更があった場合に動かしたいスクリプトの条件を追加することで、
期待通りの結果を得ることができました。

シート1は最終行にデータを追加していくシートなので、このことを利用して、
【変更のあったシートの名前が「シート1」であった場合に動かす】という条件以外に、
「getActiveRange().getRow()」にて変更のあったセルの行番号を取得し、
これが「getLastRow()」にて取得した値と一致する場合にのみ、
スクリプトを動かすようにしました。
すると、期待通りの結果を得ることができました。
ありがとうございました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決(2018/05/30 9:02)

ちょっと閃きまして。
期待するシート名にならない場合のシート名は常に「シート1」のものなので、
シート1に変更があった場合に動かしたいスクリプトの条件を追加することで、
期待通りの結果を得ることができました。

シート1は最終行にデータを追加していくシートなので、このことを利用して、
【変更のあったシートの名前が「シート1」であった場合に動かす】という条件以外に、
「getActiveRange().getRow()」にて変更のあったセルの行番号を取得し、
これが「getLastRow()」にて取得した値と一致する場合にのみ、
スクリプトを動かすようにしました。
すると、期待通りの結果を得ることができました。
ありがとうございました。

投稿2018/05/30 00:08

koromo_t

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問