「VBA」は「Visual Basic for Applications」の略で Microsoftの標準的な開発言語の一つである「Visual Basic」のOffice版ということになります。 「マクロ」は慣用的な名称で、「VBA」は正式名称です。「for Applications」というのは「Microsoft Office」等の汎用アプリケーションに共通して実装するような意味であり、 Excelのみならず、Word,Access,PowerPoint,Visio,Outlook,FrontPageなどにも実装されています。 |
私の個人的見解ですが、「マクロ」はいわゆる「手続き記録」のようなイメージがあります。 Excel以外の「表計算ソフト」ではこの「手続き記録」機能を「マクロ」と言ったり「カタログ」と言ったりします。 昔、まだWindowsが全盛になる以前は国産の「表計算ソフト」もいくつかあり、NEC製のものを使っていましたが、 「カタログ」という呼び名で全く「手続き記録」機能でした。 |
「VBA」をそういうイメージで捉えている方は、 このサイトや他の「VBA」をサポートしているサイトを 見ていただくと「そんなものではない」ことが理解できると思います。 |
「VBA」って何?という方は、まず「自動記録」から入って見ましょう。「自動記録」は、Excelの「手続き記録」機能で、これから「記録終了」のボタンを押すまでのExcel上での操作をまるごと記録してしまうという機能です。記録した内容は、開いているそのワークブックのモジュールとして記録されており、保存しておけばそのワークブックを開いて「ツール」メニューの「マクロ」からいつでも起動できます。 |
単なる「手続き記録」機能と違うのは、「自動記録」で記録したものもVisual BasicのソースコードとしてVBEで修正や追加記述が自在にでき、さらにExcelの操作からの記録では実現できない処理を直接Visual Basicのソースコードを記述することで実現できることです。 |
「VBA」か「マクロ」かこのサイトでの呼び名を統一しようと思ったのですが、リボンの開発タブのボタンが「マクロ」だったり、VisualBasicだったりでうまく行きません。自動記録の意識を除外して「同じもの」と思って下さい。
戻る 先頭に戻る
以下は、「VBA」でシステム化が実現できる可能性の高い事案の例です。
(但し、処理自体は高難度かも知れません)
入力データ | 日報又は週報シート(ワークシート) |
出力データ | 月報シート(ワークシート) |
処理概要 | 各メンバの月報シートを作成した後、エラーがなければ給与システムへの連動データ(CSV)を作成する。 |
前提条件等 |
・日報又は週報シートのシートレイアウト(項目セル配置)が固定されていること ・日報又は週報シートが月次単位フォルダに年月週+社員コード等定まったファイル名で格納されていること |
入力データ | 請求書シート(ワークシート) |
出力データ | 各請求書から作成される仕訳データ(CSV等)、及び仕訳プルーフリスト(ワークシート) |
処理概要 | 各請求書から必要項目を取り出し、エラーがなければ仕訳データ及び仕訳プルーフリストを作成する。 |
前提条件等 |
・請求書シートのシートレイアウト(項目セル配置)が固定されていること ・請求書シートが月次単位フォルダに請求日+社員コード+連番等定まったファイル名で格納されていること |
入力データ | 報告書シート(ワークシート) |
出力データ | 各報告書から作成される報告一覧表(ワークシート) |
処理概要 | 各報告書から必要項目を取り出し、報告一覧表を作成する。(管理№、日付、部署、担当者、タイトル、ファイル名等) |
前提条件等 |
・報告書シートのシートレイアウト(項目セル配置)が固定されていること ・報告書シートが月次単位フォルダに管理№+担当者社員コード等定まったファイル名で格納されていること |
戻る 先頭に戻る
※この辺まで理解できたら、1人で調べながらマクロが作れるようになります。