マクロの守り中小企業のAI導入支援|Excelマクロ(VBA)の属人化の解消からExcelマクロ(VBA)の引き継ぎ 専門

コラム移し方の比較

VBAがブラウザ版Excelで動かないときは、どこへ移す?よく使う20の処理をOffice Scripts・GASで確かめた

ブラウザ版のExcel(Excel for the web)でVBAのマクロが動かないのは、ブラウザ版がVBAの作成にも実行にも対応していないためです。よく使う20の処理のうち、そのまま書き直せたのはOffice Scriptsで7、GASで12で、多くはシートの中で完結する処理でした。PCのフォルダ・印刷・Outlookを触る処理は、どちらにもそのままは移せません。マクロの守りが手元のExcelで18の処理を動かし、残りは公式のリファレンスで判定しています。(2026年10月時点)

読み解きから直す・置き換えるまでの流れと費用はExcelマクロの引き継ぎのページにまとめています。

要点

  • ブラウザ版のExcelではVBAのマクロは動かず、作ることも直すこともできません。
  • よく使う20の処理のうち、そのまま書き直せるのはOffice Scriptsで7、GASで12でした。
  • PCのフォルダ・印刷・Outlookを触る処理は、Office ScriptsにもGASにもそのままは移せません。
  • 手元のExcelでは、VBAの18の処理がすべて動き、COMからの書き換えでもセルの変更のイベントが起きました。
  • Office Scriptsは1回120秒・1人1日1,600回、GASは1回6分が上限なので、移す前に処理の時間を測ります。
目次
  1. ブラウザ版のExcelで、VBAのマクロは動きますか?
  2. シートの中で完結する処理は、Office ScriptsとGASに移せますか?
  3. 開いたとき・セルを変えたとき・決まった時刻に動く処理は、どうなりますか?
  4. PCのフォルダ・印刷・Outlookを触る処理は、どこへ移せますか?
  5. Office ScriptsとGASには、どんな上限がありますか?
  6. このサイトで相談するには?
  7. よくある質問

ブラウザ版のExcelで、VBAのマクロは動きますか?

動きません。Microsoftのサポートページによると、Excel for the webではVBAのマクロを作れず、実行と編集もできません。全体の進め方はExcelマクロの引き継ぎにまとめています。

マクロ付きのブックは、開いて編集できます。マクロはブックに残り、開いても警告は出ません。ブラウザで開いてボタンを押しても何も起きないのは、このためです。iPhone・iPad版のExcelもVBAに対応していません。

ブラウザで自動化するなら、移し先はOffice ScriptsかGASです。マクロの守りがよく使う20の処理で判定した結果を、次の表にまとめました。

環境 VBAのマクロ 20の処理(○/△/×) 使える条件
デスクトップ版Excel 動く 20/0/0 Windows・Mac
ブラウザ版Excel 動かない 0/0/20 —
Office Scripts — 7/5/8 法人・教育機関向けのMicrosoft 365
GAS — 12/7/1 Googleのアカウント

○はそのまま書き直せる、△は条件つきか別の仕組みと組めばできる、×はできない、です。

20の処理のうち環境ごとにそのまま書き直せる数の積み上げ横棒グラフ。VBAは20、ブラウザ版Excelは0、Office Scriptsはそのまま7・条件つき5・不可8、GASはそのまま12・条件つき7・不可120の処理のうち、そのまま書き直せる数○ そのまま △ 条件つき × できない(マクロの守りの判定、2026年10月時点)VBA(手元)○20ブラウザ版 Excel×20Office Scripts○7△5×8GAS○12△7VBA の20には、実行せずリファレンスで判定した2つ(メッセージ・Outlook)を含む×1
図1 20の処理のうち、そのまま書き直せる数。Office Scriptsは7、GASは12でした。

シートの中で完結する処理は、Office ScriptsとGASに移せますか?

ほとんど移せます。読み書き・並べ替え・抽出・集計・シートのコピーは、Office ScriptsとGASの両方に同じ働きのAPIがあります。分かれたのは、セルで使う自作の関数とピボットの更新です。

処理 VBA(手元) Office Scripts GAS 判定の根拠
1〜3 読み書き・並べ替え・抽出 ○ ○ ○ Range・AutoFilter/Range・createFilter
4 得意先ごとに集計 ○ ○ ○ 配列を読んで数える
5 シートの追加・コピー ○ ○ ○ Worksheet.copy/Sheet.copyTo
6 ピボットの更新 ○ ○ △ refreshがある/更新のメソッドがない
7 自作の関数をセルで使う ○ × ○ セルから呼べない/30秒まで
8 シートのボタンで実行 ○ ○ ○ 家庭向けは不可/メニュー
9 メッセージ・入力欄 ○ △ ○ 実行の最初の入力だけ/alert・prompt
10 入力フォーム ○ × △ 画面を作れない/HTMLで作り直す
よく使う20の処理が4つの環境で動くかを並べた表の図。VBAは20すべて動き、ブラウザ版Excelは0、Office Scriptsはそのまま7・条件つき5・不可8、GASはそのまま12・条件つき7・不可1よく使う20の処理は、どこで動くか(2026年10月時点)○ そのまま書き直せる △ 条件つき・別の仕組みと組む × できない ◇ VBA で実行せずリファレンスで判定VBA(手元)ブラウザ版 ExcelOffice ScriptsGAS1 セルの値を読み書きシートの中2 並べ替え3 フィルターで抽出4 得意先ごとに集計5 シートの追加・コピー6 ピボットの更新7 自作の関数をセルで使う8 シートのボタンで実行9 メッセージ・入力欄人・きっかけ10 入力フォーム11 開いたときに動く12 セルを変えたら動く13 決まった時刻に動く14 別のブックを読むブックの外・PC15 フォルダのファイル一覧16 CSV を読み込む17 PDF に書き出す18 印刷する19 Outlook で送る20 Web の API を呼ぶ○20 △0 ×0○0 △0 ×20○7 △5 ×8○12 △7 ×1VBA の列:Excel 16.0 ビルド 20430(64bit)で18の処理を実行(マクロの守り、2026-10-16、架空の受注200行)ほかの列:Microsoft Learn と Google for Developers のリファレンスで判定。ブラウザ版 Excel は VBA を実行できない
図2 20の処理と4つの環境。VBAの列はマクロの守りが2026年10月16日に手元のExcelで実行した結果で、ほかの列はリファレンスで判定しました。

VBAは、Microsoft 365のExcel(16.0、64bit)で18の処理を実行し、18とも動きました。使ったのは架空の受注200行のブックです。MsgBoxは押すまで止まり、このPCにはOutlookの設定がないので、この2つは実行していません。

手順はvba_env_probe.pyにあります。Office ScriptsとGASは実行しておらず、判定はリファレンスによるものです。

開いたとき・セルを変えたとき・決まった時刻に動く処理は、どうなりますか?

Office Scriptsには、ブックを開いたときやセルを変えたときに動く仕組みがありません。Microsoftの比較のページによると、スクリプトが動くのは2つの場合だけです。人が手で始めたときと、Power Automateが呼んだときです。決まった時刻の実行は、Power Automateのフローに任せます。

GASは、開いたとき(onOpen)とセルを変えたとき(onEdit)の単純トリガーと、時刻のトリガーを持っています。ただし単純トリガーは30秒までで、Gmailで送るような認可の要る処理は使えません。

手元の実験では違いも出ました。VBAのWorksheet_Changeは、外のプログラム(COM)からセルを書き換えても動きました。GASのonEditは、人がセルを変えたときに動き、スクリプトやAPIからの書き換えでは動きません。別の処理の書き込みをきっかけにしていたVBAは、移すと止まる場合があります。

PCのフォルダ・印刷・Outlookを触る処理は、どこへ移せますか?

そのままは、どちらにも移せません。Office Scriptsはブックの中だけを扱い、ブックのあるPCには触れません。GASが扱うのはGoogleドライブで、社内のフォルダやプリンターではありません。

処理 VBA(手元) Office Scripts GAS
14 別のブックを読む ○ △ Power Automateでつなぐ △ スプレッドシートなら
15・16 フォルダの一覧・CSVの読み込み ○ × △ ドライブに置けば
17 PDFに書き出す ○ × △ ドライブに保存
18 印刷する ○ × ×
19 Outlookで送る ○ △ Power Automateから △ Gmailから送る
20 WebのAPIを呼ぶ ○ △ Excelから動かすときだけ ○

印刷とPCのフォルダを使う処理が多いなら、VBAのまま直して使うか、Webアプリと自動処理に置き換えます。直すか移すかの比べ方はExcelマクロの移行先の比較に書きました。新しいOutlookでは、VBAのメール送信そのものが動きません。新しいOutlookでマクロのメールが止まる理由も見てください。

Office ScriptsとGASには、どんな上限がありますか?

Office Scriptsは、Power Automateから動かすと1人1日1,600回までです。同期の操作は120秒で切れ、ブックとのやり取りは1回5MBまでです。GASは1回の実行が6分までです。トリガーの合計は、1日に無料のアカウントで90分、Google Workspaceで6時間までです。

Office ScriptsとGASの上限を並べた図。Office Scriptsは1回5MB・500万セル、Power Automateから1人1日1,600回・120秒。GASは1回6分、トリガーの合計が1日に無料90分・Workspace 6時間、onOpenとonEditと自作の関数は30秒Office Scripts と GAS の上限(2026年10月16日確認)Office Scripts1回の要求・応答5MB範囲500万セルまでPower Automate からの実行1人1日 1,600回同期の操作120秒でタイムアウト外部 API(fetch)Power Automate からは失敗GAS1回の実行6分トリガーの合計(1日)無料 90分/Workspace 6時間onOpen・onEdit30秒自作の関数(セル)30秒6分の処理を回せる回数1日 15回/60回(計算)出典:Microsoft Learn(Office Scripts の上限)、Google for Developers(Apps Script の上限・トリガー・カスタム関数)
図3 Office ScriptsとGASの上限。2026年10月16日に、MicrosoftとGoogleの公式ページで確かめた値です。

6分かかる処理なら、GASのトリガーで1日に回せるのは90÷6で15回、Workspaceでも60回です。VBAで1回に数十分かかる集計は、分けないと移せません。移す前に、今のマクロが1回に何秒かかるかを測っておきます。

Pythonへ書き換える場合に何が変わるかは、VBAをPythonに書き換える記事で、行数と実行時間を比べています。

このサイトで相談するには?

ブラウザで使えないマクロも、マクロの守りで、どの処理をどこへ移せるかを一緒に見ます。何をどう頼むか決まっていなくても大丈夫です。御社のやり方に合わせて、進め方を一緒に考えます。

準備は要りません。無料で相談するからお送りください。返信は最短当日です。

よくある質問

ブラウザ版のExcelで、マクロ付きのブックを開くと壊れますか?
いいえ、壊れません。開いて編集でき、マクロはブックに残ります。ただしマクロの実行・編集・削除はデスクトップ版のExcelでしかできません。
Office Scriptsは、どのMicrosoft 365でも使えますか?
いいえ。BusinessやE3などの法人・教育機関向けのライセンスとOneDrive for Businessが要ります。家庭向けはプレビューで、シートのボタンは使えません。
VBAをGASに自動で変換する方法はありますか?
はい、GoogleのMacro Converterがあります。Google WorkspaceのEnterprise PlusかEducation Plusが要り、対応しない処理は回避策の案内だけです。
PCを触る処理だけVBAに残すことはできますか?
はい、できます。共同で使うシートの処理をOffice ScriptsかGASに移し、フォルダや印刷を扱う処理はデスクトップ版のExcelのVBAに残す分け方です。

この記事の実験・計算の条件

20の処理×4つの環境。VBAは架空の受注200行のブックで18の処理を Microsoft 365 の Excel(16.0、64bit)で実行。ほかの環境はリファレンスで判定。

出典

  1. Microsoft サポート「Work with VBA macros in Excel for the web」(2026年10月16日確認)
  2. Microsoft Learn「Differences between Office Scripts and VBA macros」(2023年4月)(2026年10月16日確認)
  3. Microsoft Learn「Platform limits, requirements, and error messages for Office Scripts」(2026年10月16日確認)
  4. Microsoft Learn「External API call support in Office Scripts」(2026年1月)・「Get user input for scripts」・「Run Office Scripts in Excel from buttons」(2026年10月16日確認)
  5. Microsoft Learn「Cross-reference Excel files with Power Automate」(2025年12月)(2026年10月16日確認)
  6. Office Scripts API リファレンス(ExcelScript.PageLayout・PivotTable・Worksheet・Range)(2026年10月16日確認)
  7. Google for Developers「Quotas for Google Services」(2026年9月3日更新)(2026年10月16日確認)
  8. Google for Developers「Simple Triggers」・「Custom Functions in Google Sheets」(2026年9月3日更新)(2026年10月16日確認)
  9. Google for Developers「Macro Converter overview」(2026年9月3日更新)(2026年10月16日確認)
  10. Google for Developers Apps Script リファレンス(SpreadsheetApp・Ui・Range・Blob・MailApp・UrlFetchApp)(2026年10月16日確認)