概要
Excel VBA テンプレートファイルを作成しました。クラスモジュールを中心に、Excelテーブルと連携したDB(Oracle)のCRUD操作等の機能を実装しています。
Excelファイル及びドキュメントは下記リポジトリに保存しています。
https://github.com/atman-33/template-excel-vba-mk2
1. 主な実装機能
- ConfigシートのデータをVBAで利用
- Oracleデータベースに接続し、Excelテーブルにデータ格納/削除する機能
- Excelテーブル操作機能(ソート、フィルター)
2. モジュール構成
3. シート説明
Sample1 シート
Sample1シートでは、OracleDBのデータを取得・変更できます。
また、DBから取得したExcelテーブルに貼り付けし、ソートやフィルターする機能を実装しています。
Excelテーブルの「保存」・「削除」アイコンをダブルクリックすると、クリックしたレコードをDBに保存もしくは削除できます。
DB接続設定やデータ取得するSQLは、後述のConfigシート・SQLシートで指定しています。
Config シート
DB接続情報等、VBAで利用するための設定を行うシートです。 このシートに格納したKeyとItemは、VBA側で呼び出す事ができます。
Configのデータを取得する際は、下記のように使用します。
ex:
SQL シート
DBから取得するSQLと、データ貼り付け先(シート、テーブル)を指定します。
SQLテーブルについて補足:
列名 | 内容 |
---|
Name | SQLの名称(SQLを分かり易くするために準備している。VBAで利用しない。) |
Sheet | SQLの結果を出力するテーブルが存在するシート名称 |
Table | SQLの結果を出力するテーブル名称 |
SQL | 実行するSQL文 |
説明 | SQLの内容など補足する場合のコメント |