12
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

脱 Excel VBA

Last updated at Posted at 2022-02-15

🏁 脱 Excel VBA

20年以上前 (Excel 2003) から進化せず VB6.0 のままで使われ続けてきた VBA (Visual Basic for Applications) 。今ではより安全で柔軟な代替技術が登場し、本格的に引退の時期が訪れているのではないでしょうか?

🚀 なぜ VBA から移行すべきなのか?

  • VBA は 32-bit 環境を前提としており、最新技術との互換性が限られている。
  • セキュリティリスク が高まり、Microsoft も VBA マクロをデフォルトでブロック する方針を採用。
  • クラウド技術 との統合が難しく、オンライン環境での自動化が困難。
  • チーム開発 や長期的な運用が難しく、メンテナンス性に乏しい。

このような理由から、現代的な代替技術へ移行することを検討するべきです。


🛑 VBA マクロのデフォルトブロック

Microsoft は、ネットからダウンロードされた Office ファイルの VBA マクロをデフォルトでブロック する方針を発表しました。これは Emotet などのマルウェア対策の一環であり、企業の IT セキュリティにも大きな影響を与えました。


🏗️ Excel における VBA の代替

VBA を使わずに Excel の機能を活用する方法を紹介します。

📌 Excel 内で完結する処理

LAMBDA 関数

カスタムの再利用可能な関数を作成し、それらを名前で呼び出せます。

🔄 Power Query

ブック内のデータや外部データに接続し、変換、結合、整形が可能。

【モダン Excel】Power Query について #PowerQuery - Qiita


🌐 オンラインで使用する処理

image.png

📝 Office Scripts

Excel Online で動作する TypeScript 言語スクリプト。組織全体で共有でき、ローカルアプリからも起動可能。

Power Automate との連携も可能。

⚙️ Power Automate

豊富な コネクタ を組み合わせ、処理を構成しタスクを自動化。


💻 Excel 外を操作する処理

🤖 Power Automate for desktop

デスクトップ上の繰り返し作業を自動化し、RPA を実現。

🛠️ PowerShell

UI を必要としない VBA マクロの処理は、PowerShell に移植すれば対応可能。


🔍 その他

🐍 Python in Excel

追記 (2023/09/15)

Excel 内で Python を実行できる Python in Excel 機能が登場。より高度なデータ処理が可能に。

📌 Python in Excel とは?

Python in Excel は、Excel 内で直接 Python コードを記述・実行できる機能 であり、データ分析や可視化に活用できます。現在は Anaconda 環境に準拠 しており、pandas や numpy を含む主要なデータ分析ライブラリが利用可能です。

🚧 まだ実現できないこと

現時点では、外部ライブラリの追加が不可 であり、API の呼び出しや Excel 外のファイル管理、VBA との完全な統合には制約があります。そのため、業務の自動化やシステム制御には別のツールとの併用が必要です。


🏁 参考サイト

12
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?