Excelのマクロは Google Sheets に移せるのか — 可否を先に測る | GH Media
URLがコピーされました

Excelのマクロは Google Sheets に移せるのか — 可否を先に測る

URLがコピーされました
Excelのマクロは Google Sheets に移せるのか — 可否を先に測る

「Google Workspace に移したいのですが、経理と生産管理でExcelのマクロを使っていて、あれが動かないと業務が止まるので難しいです」——移行の相談で最も多く出てくる回答です。

ここで話が止まる会社は多いのですが、よく聞くと「動かないことを確認した」のではなく「動くかどうかを誰も確かめていない」ことがほとんどです。マクロは社内で最も触られたくないブラックボックスなので、開けずに諦めるという判断が自然に起きます。

ただ、移行できるかどうかは感触で決める話ではありません。Googleは、Excel の VBA を Apps Script に変換できるかを事前に測るための道具を用意しています。

「動くか」を測る道具がある

Google Workspace Marketplace で提供されている Macro Converter アドオンは、VBA を含む Excel ファイルを Google Sheets と Apps Script に変換するためのものです。重要なのは変換機能そのものより、変換前に出せる「互換性レポート」のほうです。

レポートは、ファイル内で使われている API を Apps Script に置き換えられるかどうかで分類します。

判定意味実務上の扱い
Supported exactlyApps Script に同等の機能があるほぼそのまま移せる
Supported with workarounds迂回策を書けば実現できる書き直しの工数として見積もる
Needs more investigation対応が不明、または個別調査が要るここが移行の可否を決める

このレポートが出た時点で、議論の対象が「移れるか移れないか」から「どこに何日かかるか」に変わります。マクロを開かずに諦めていた状態から前に進むのは、たいていこの一歩です。

ただし制約があります。 Macro Converter は Google Workspace Enterprise Plus と Education Plus 相当のエディションでのみ利用できます。Business Standard や Business Plus では使えません。移行検討中の会社がまさに契約していないエディションなので、ここが現実的な壁になります。

エディションが足りないときに先にやること

アドオンが使えない場合でも、判定の8割は自分たちでできます。VBAの中身を、次の3つに仕分けるだけです。

  1. シート内の集計・転記・書式設定。 別シートへの値のコピー、条件による色付け、行の並べ替え。この層は Apps Script に素直に置き換わります。移行で困ることはほとんどありません。
  2. Excelの画面操作を前提にした処理。 フォーム、ユーザー定義のダイアログ、Application.OnKey のようなキー割り当て。これは移せないのではなく、作り直しになります。 Google Sheets 側の UI は別物なので、同じ見た目の再現を目標にすると必ず行き詰まります。
  3. 外部との連携。 Access や SQL Server への接続、ローカルファイルの読み書き、Outlook 操作、他社製の COM コンポーネント。ここが本丸です。 クラウド側から社内のファイルサーバーやオンプレDBには直接手が届かないため、移行ではなく経路の設計変更になります。

VBAの処理を3つに仕分けて移行難易度を判定する図

3つ目に該当する処理がどれだけあるかで、移行の性質が変わります。1と2だけなら移行作業、3が中心なら業務システムの作り替えです。見積りが数十倍変わる分岐点なので、ここを先に確認してください。

移せたとしても、同じにはならない

変換が成功しても、そのまま使えるとは限りません。Apps Script には Excel の VBA にはない制約があります。

いちばん引っかかるのは実行時間の上限です。Apps Script のスクリプトは1回の実行が6分で打ち切られます。エディションを上げても延びません。全件を上から処理する作りのマクロは、データが増えた時点でこの壁に当たります。処理を分割するか、そもそも一括処理をやめるかの判断が要ります。この制約への向き合い方はApps Scriptの6分制限に整理しています。

もうひとつは実行の速さです。VBA のようにセルを1つずつ読み書きする書き方をそのまま移すと、極端に遅くなります。Apps Script では範囲をまとめて読み、まとめて書き戻す形に直す必要があり、これは自動変換では拾いきれません。変換直後に「動くけれど遅すぎて使えない」となる原因の多くはこれです。

そして引き継ぎの問題が残ります。変換後のコードは、元のVBAの構造を引きずったまま Apps Script になります。読める人が社内にいない状態は移行後も変わりません。Apps Script が属人化したときに何が起きるかはApps Scriptの保守にまとめました。

移行の単位はマクロではなく業務で切る

判定が出たあと、多くの会社が「変換できたマクロから移す」という進め方をします。これは順番として逆になりがちです。

マクロは業務の途中に埋まっています。前工程がExcelのまま、途中のマクロだけ Sheets に移ると、ファイルの往復が新しく生まれます。 移行前より手間が増えたという声はここから出ます。

切る単位は「月次締めの集計」「受注データの取り込み」のような業務のかたまりです。その業務が使うファイルとマクロを丸ごと移せるかで判断します。丸ごと移せないなら、その業務は今回の対象から外して残す。全部移そうとしないことが、移行を完了させるいちばん確実な方法です。

なお、マクロを含まない通常のExcelファイルの互換性は、以前より大きく改善しています。テーブルやピボットテーブルの扱いはExcelのテーブル・ピボットの取り込みを参照してください。データそのものの移行手順はMicrosoft 365からの移行にあります。

そもそも移すべきかを問い直す

判定の結果、「書き直せば動く」と分かることがあります。そこで一度立ち止まる価値があります。

そのマクロが生まれた理由は、多くの場合「当時それしか手段がなかったから」です。同じ処理を、いまなら Excel でもスプレッドシートでもなく、業務システムやワークフローとして持つほうが素直なことがあります。 特に、複数人が同じファイルを順番に触る前提のマクロは、そもそも表計算に載せる形が無理をしています。

移行を機に作り替えるべきか、そのまま移すべきかの見極めはExcel業務をシステム化する判断に書いています。判断を先送りにして「とりあえず移す」を選ぶと、移行後にもう一度同じ議論をすることになります。

次にやること

まず、業務を止めているマクロを5つまで書き出してください。 数を絞るのは、全部を数えると着手できなくなるためです。5つ書き出せば、それらが上の3分類のどこに落ちるかは、作った本人や日々使っている担当者に聞けばだいたい分かります。

そのうえで、外部連携(3番目)に該当するものがあるかだけを先に確認してください。 ここにマクロが集中しているなら、移行の話ではなくシステム構成の話になります。逆に1と2しかないなら、移行は現実的な射程に入っています。

Google Workspace への移行判定、Excelマクロの棚卸しと移行方針の策定、Apps Script での再実装については、グリームハブの IT・Google Workspace 無料相談で承っています。現在のエディションとマクロの内容によって進め方が変わるため、個別にご相談ください。お問い合わせからどうぞ。

Sources

URLがコピーされました

グリームハブ株式会社は、変化の激しい時代において、アイデアを形にし、人がもっと自由に、もっと創造的に生きられる世界を目指しています。

記事を書いた人

鈴木 翔

鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

関連記事

「Google Workspace」の記事一覧を見る