ここから本文です

googleスプレッドシートのマクロ、GASについて質問です。 初心者なので既出の質問...

sal********さん

2019/9/101:00:04

googleスプレッドシートのマクロ、GASについて質問です。
初心者なので既出の質問でしたらすみません。

一つのブックの中にりんご,バナナ,メロン,みかん,バスケットという名前をそれぞれつけた5つのシートがあるとします。
りんご、バナナ、メロン、みかんのシート内のA行からG行までをコピーしてバスケットのそれぞれA1,A100,A200,A300にコピペしたい時、マクロの記録機能を使ったところ煩雑なコードになってしまいました。具体的には、

function myFunction() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('りんご'), true);
spreadsheet.getRange('A:G').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('バスケット'), true);
spreadsheet.getRange('\'りんご\'!A:G').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
(中略)
}
という感じです。
さすがに長すぎますし扱いづらいので、もっと簡素化できる書き方があればぜひ教えてください。
できればコピペ後点線が出ないようなものが望ましいです。(伝わりますかね)

よろしくお願いします。

閲覧数:
10
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

バッキーさん

2019/9/308:13:29

マクロは忠実にユーザーの操作を記録しますので、かなり冗長なスクリプトになりますね。

複数のシートの特定のセル範囲を1つのシートにまとめたいということだと思いますが、もっと簡素化して書けます。

ただ、それなりにGASの知識が必要になりますので、とりあえず下記のようなサイトでシートとセルの操作方法を確認なさってください。

"Google Apps Script(GAS)入門|エクセル"
https://excel-ubara.com/apps_script1/

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる