Excel VBA Tips

 ここでは、Excelの入門書や初級書では取り上げられていないVBAを勉強することとします。やはり、Excelの実務応用への仕上げはなんといってもVBAです。会社等で自作のソフトを自分だけが使うのなら、何もVBAを用いて完全自動化するほどのことはないでしょうが、Excelをほとんど知らない人に使ってもらおうと思えば、VBAを使って完全にアプリケーション化を図った方が無難でかつベターではないでしょうか。

 VBAといっても、自動記録できるものとできないものとがあります。このページでは、後者の自動記録できないVBAで、特にユーザフォーム、コマンドボタン等のオブジェクトを主に勉強することとします。サンプルファイルをダウンロードして、ご自分の目で動作やVBA記述(このページのサンプルファイルはマクロの保護をかけていません。)を確認しながら勉強してみてください。そして、ユーザとの対話形式のアプリケーション作成にチャレンジしてみてください。


 なお、このページのソフトはすべてマクロを使用しています。ウィルスを厳重にチェックしていますので、Excelのセキュリティを低にして、マクロが動作する環境にしてからご使用下さい。

 また、Excelの対応バージョンはすべて2000以上です。97以下のバージョンでは動作しない場合がありますのでご注意願います。
※このページの1〜36のサンプルファイルは、私がVBAを習い初めの頃に、参考書籍を勉強しながら作成したものです。 <参考書籍>VB/VBA入門(河西朝雄著、技術評論社発行)

※このページの37以降のサンプルファイルは、私がアプリケーションを開発する際に、いろいろと試験的・実験的に作成したモノ、アプリケーションとまではいかない部品的なモノ、完成にまで至らなかったモノなどです。
ファイル名 サイズ

プレビュー

説明

1.色の表示 10KB

フォーム、ボタンの色表示
2.イメージ操作1 39KB

イメージの拡大、縮小、非表示
3.イメージ操作2 40KB

イメージの移動、幅・高さの変更
4.元利合計を求める 12KB

テキストボックス記入
5.リストから選択する 11KB

リスト選択
6.イメージのロード 162KB

リスト選択、イメージロード
7.円周率を求める 13KB

リスト記入、モンテカルロ法
8.リストへ記入する 12KB KeyDownによるリスト記入
9.ハノイの塔 11KB リスト記入、再帰解
10.年齢判定 11KB 2リストへの判定記入
11.倍々預金 12KB リスト記入、シート転記
12.ピタゴラスの定理 17KB リスト記入、シート転記
13.名前のソート 10KB リスト内でのソート
14.万年暦 13KB リストの複数列記入
15.オプション選択1 11KB オプションボタン選択
16.オプション選択2 12KB オプションボタン選択
17.合計を求める 12KB リスト記入、1次元配列
18.男女別平均点 12KB リスト記入、1次元配列
19.教科別平均点 12KB

リスト記入、2次元配列
20.平均年齢 12KB

リスト記入、2次元配列
21.ヒストグラムの作成 14KB

リスト記入、2次元配列
22.3択クイズ 18KB

リスト記入、オプションボタンによる選択、2次元配列
23.ユニコード表示 13KB

文字列関数
24.相性占い 12KB

文字列関数
25.イメージの移動 12KB

スクロールバー
26.色の成分表示 13KB スクロールバー
27.マルチページ 85KB マルチページ、イメージロード
28.フォントのサイズ 12KB スピンボタン
29.チェックボックス 11KB チェックボックス選択、リスト記入
30.フォントの設定 11KB トグルボタン
31.コンボボックス 12KB

コンボボックス選択、リスト記入
32.じゃんけん 14KB コンピュータとじゃんけん、条件判断
33.ワークシート1 339KB オブジェクトとしてのワークシート1
34.ワークシート2 6KB オブジェクトとしてのワークシート2
35.5択問題集 20KB 動的配列、リストボックス、オプションボタン
36.構造体(レコード) 40KB 構造体(レコード)、スピンボタン等
37.本店/支店 12KB

2次元配列、コンボボックス選択
38.カーソル制御 15KB

シートのEnableSelectionプロパティ、トグルボタン
39.分類選択 57KB

項目選択→要素表示→要素選択→リスト記入
40.ボタンの種類と乱数 12KB

4種類のボタンと乱数発生マクロ
41.順列の生成 11KB

順列の生成マクロとアルゴリズム解説
42.終了方法 17KB VBAによるワークブックとExcelの終了方法
43.複数列のリストボックス 18KB 複数列のリストボックスとシートとのデータのやりとり
44.ブックを開く 26KB 同じフォルダにあるブックを開く(Q&A)
45.人口ピラミッド 31KB 1次元配列を用いて人口ピラミッドを描く
46.データエリアの読取 9KB データ範囲の読み取り
47.カーソルの記憶&復帰 7KB

カーソル位置の記憶と復帰
48.カーソルの移動 11KB InputBoxによるカーソルの移動
49.画面の環境設定とズーム率調整 14KB AP環境の画面の設定/解除と解像度の違いによるズーム率の調整
50.ミニサンプルDB 54KB 本格的なアクセスもどきデータベースのミニサンプル
51.カウント 11KB 行頭文字列によるカウント(Q&A)
52.日記帳 16KB リストボックスによる日付選択及びジャンプ(Q&A)
53.シート作成&追加 13KB 新規ブックへのシートの作成及び現ブックへのシート追加
54.シートジャンプ 10KB リストボックスによるシートジャンプ
55.シート固定 12KB シート表示エリアを1ページに固定し、カーソルを制御する
56.数値の位取り 21KB Keydownによる加算、TextBox内の数値の位取りとシート反映(Q&A)
57.サンプルDB 122KB 実務的なアクセスもどきデータベースのサンプル
58.イメージコンボボックス 19KB 擬似的なイメージコンボボックス
59.アンケート集計 326KB アンケート集計 (サンプル)
60.バーチャートツール 38KB 本格的なバーチャート入力ツール
61.組込ダイアログボックス 52KB エクセルに標準で組み込まれているダイアログボックスの表示
62.カラーダイアログ 9KB エクセル既定のダイアログの内、カラーを表示する6つのダイアログ
63.工程図Proの工程入力フォーム 147KB 拙作エクセル工程図Pro v1.00 の工程入力フォームとなる予定だった「まぼろしのフォーム」
64.連続数値の合計 87KB Activecell.Offset(1,0)を使って連続数値の合計を求める
65.PC情報の取得 23KB PCのいろいろな情報を取得
66.実人員調査 9KB 名前の重複する名簿から名前の重複しない実人員名簿を作成
67.日計表の作成 28KB 元データを日付毎に集計し、日計表を作成
68.プログレスバーの表示 21KB 処理時間がかかる場合のプログレスバー表示
69.認定結果集計システム 842KB 介護認定結果を入力すると、自動的に各個表に記録し、合計表ができあがっています
ダウンロードページ「c19」の保護解除版
70.サウンドや音楽を鳴らす 80KB サウンド(wav)や音楽(mid)をならす
(※フォルダ付で解凍してください)
71.ヘルパー計画 189KB 利用者計画(訪問、入浴)を作成すると自動的にヘルパー派遣計画が出来上がります
ダウンロードページ「c20」 の保護解除版
72.カラーパレット 18KB クラスモジュールでカラーパレット作成
73.エクセル工程図の画面遷移 206KB クラスモジュールを用いたエクセル工程図の画面遷移等の仕組み
74.フォームからURL呼出 13KB フォーム上からのURL呼出
75.波線描画 18KB 小波線または大波線を描画
76.範囲内のオブジェクト消去 10KB 選択範囲内に包含または一部掛かりの全オブジェクトや文字列を消去
77.データ抽出 24KB シート上のデータを検索・抽出
78.タイマー 27KB タイマーでひよこをゆっくりと回転
79.セル範囲やライン情報の取得 15KB セル範囲の情報やラインの情報取得
80.マクロ登録とAP環境の設定/解除 39KB 16種類のマクロの登録方法とAP環境の設定/解除マクロ
81.イメージボタンの作成とマクロ割当 381KB イメージボタンの作成とマクロの割当方法の説明
82.顔写真入り社員証(名刺サイズ) 358KB ファイルと同じフォルダに顔写真を入れておけば、自動的に名刺サイズの顔写真入り社員証を作成(フォルダ付で解凍のこと)
83.メール一括送信 20KB シート上の複数のメルアドをセミコロンで繋いでOutlookExpressの宛先に貼付
84.ツールバーの表示/非表示 9KB 組込ツールバーやユーザツールバーの表示/非表示
85.FaceIDコマンドバーの作成 13KB FaceID一覧の作成及びコマンドバー化
86.リストボックスによる資材入力 51KB シート上の資材一覧表をリストボックスに読込後、選択した資材を日付毎にシート入力
87.行着色と同色行の抽出 42KB 行着色と同色行の抽出(条件付き書式は用いていません。)