🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

1回答

4730閲覧

エクセルVBAからグーグルGASへの変換

RATAROU

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2021/07/11 08:41

前提・実現したいこと

エクセルにて使っていたマクロをグーグルスプレッドシートに変換の際にエラーが出ていてわかりません。

エクセルVBA

Sub 毎月10P増える_Click()

Dim r As Integer
r = Range("J4").Value

Range("J4:J19").Value = Evaluate("J4:J19+10")

End Sub

こちらで範囲に10を足していました。

グーグルGAS
function myFunction() {
var r
r = Range("J4").getValues()
Range("J4:J19").getValues() = Evaluate("J4:J19+10")
}

エクセルでのマクロ以外触ったことがなく一日調べながら自分なりに書き直したのですが一向に治りません。

どなたかご助言いただけますと幸いです

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

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

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

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

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

papinianus

2021/07/28 06:29

J4 は何の値ですか?
guest

回答1

0

GAS

1function myFunction() { 2 var sht = SpreadsheetApp.getActiveSheet(); 3 var vs=sht.getRange("J4:J19").getValues(); 4 for (var i = 0 ;i<16;i++) { 5 vs[i][0] += 5; 6 } 7 sht.getRange("J4:J19").setValues(vs); 8}

足すだけなら、このようにそのまま書けばいいんじゃないですか。

Evaluateみたいに一括計算したければ、forの代わりに

GAS

1function myFunction() { 2 var sht = SpreadsheetApp.getActiveSheet(); 3 sht.getRange("J4:J19").setValues(sht.getRange("J4:J19").getValues().map(x =>x.map(y=>y+5))); 4}

とか書くくらいでしょうか。まぁ。ループと同じですね。

とりあえず、私の知ってる範囲で回答しました。
一括で計算する関数が準備されているかどうかは知らないです。

投稿2021/07/11 18:25

xail2222

総合スコア1508

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問