2013-01-21

Microsoft Excel で SQL を利用する方法

Microsoft Excel で SQL

なぜか、今年から家計簿を複式でつけている。それについてのツッコミはまた置いといて…、問題はデータの集計方法。仕訳帳シートにどんどんデータを入力していったとして、総勘定元帳的なシートはどうしようかな?と考えていたところ。たとえば現金だけのシートを作るのに、仕訳帳から「ソート」機能でデータをピックアップしてコピー&ペーストしていたのだけれど、このソート機能がめっぽう使いにくいので。

Excel で SQL が使えると便利なんだけれどなーと思っていたところ、こんな記事を発見。 Excel から ADO (ActiveX Data Objects) を使って、データの SQL 操作ができるようにする VBA スクリプト。使い方やコードも紹介されているので、リンク先から確認してもらえばいいのだけれど、ちょっとつまずいた点だけ書いておく。リンク先サンプルデータ「ESQL.xls」の ESQL と ClearCells と CommandButton1_Click の関数を Excel 2010 のブックにそのまま移植したとして…。

まずは、Excel で VBA マクロと ADO が使えるようにするための設定。
  • Excel ブック保存のときに「Excel マクロ有効ブック (*.xlsm)」で保存。
  • Excel の「ファイル > オプション > セキュリティ センター」、「セキュリティ センターの設定」から「マクロの設定」を「すべてのマクロを有効にする」に。
  • VBA の「ツール > 参照設定」で「Microsoft ActiveX Data Objects 2.8 Library」にチェックを入れて「OK」。
シート内にスクリプト起動用のボタンをつける準備。(Excel 2010 のリボンには、ボタンを設置するための項目がない)
  • Excel の「ファイル > オプション > リボンのユーザー設定」で「メインタブ」に「新しいグループ」を作成。「コマンドの選択」を「リボンにないコマンド」にして、「ボタン (フォーム コントロール)」を作ったグループに追加。
  • リボンからボタンを追加して、マクロに「CommandButton1_Click」を登録。
で、使える SQL 文。
  • テーブル名は [シート名$] でアクセス。
  • 改行文字(Alt + Enter)が入っている項目名は、改行文字の代わりにアンダーバーを入れてアクセス。
後は多分、普通の SQL 文が通るはず。これまで食わず嫌いだったけれど、VBA をもっと使ってみると面白いかもと感じた今日この頃。

スポンサードリンク:

お願い:
「このエントリ役に立った!」と思ったら、ぜひ フィード 登録をお願いします。 

2 comments:

  1. The important mechanisms of injection molding are warmth transfer and pressure flow. The important equipment is an injection molding machine, sometimes generally known as|often identified as} a press, and a mildew which can even be referred to as a tool or sometimes a die. The product of the process Cotton Duvet Covers is a molding, which confusingly and inaccurately is sometimes called a mildew.

    ReplyDelete
  2. Automotive How superior 3D printing know-how is reworking the automotive trade. Digital Manufacturing SolutionsIndustriesIndustriesIndustrial Design How rapid prototyping helps speed up product improvement. IndustriesIndustriesIndustrial Design How rapid prototyping helps accelerate product improvement. Simply printing with Carbon’s hardware alone does not enable for end use properties with actual world purposes. Once the light has shaped the part, a Sexy Panties second programmable curing course of achieves the specified mechanical properties by baking the 3d printed part in a thermal bathtub or oven.

    ReplyDelete

Zenback - Everyone's Related Posts