「BakuJAN活用例」の解・体・親・書
親愛なる貴方のために・・・え?誰?
はじめに
[ Excel
]は、日々の数字を扱う業務など、定型的な集計作業に利用されることの多い、言わずと知れた表計算ソフトです。そのファイルは[ ブック
]と呼ばれ、複数の[ ワークシート ]を持つ事ができます。[ ワークシート ]というオブジェクト名通り、ユーザーは、この[ ワークシート
]で作業を行います。
図:Excelで使うブックの中には、複数のワークシートを持つことができる
1枚の[ ワークシート ]には、最大16,777,216個の [ セル
]が含まれています。多くのユーザーは、モニター画面に表示される範囲までを作業範囲として、日々変化するデータを月次の報告書にまとめたり、製品の型番などを収めた一覧表を作ってみたりと、様々な目的で[
Excel ]を使っています。
取り扱うデータはユーザーごとに違えども、それそれの作業の中で、キーボードやマウス操作が一定だったら、同じ手順を毎日、毎回繰り返すのは非効率ですね。[
Excel ]には、その拡張機能の一つとして、[ Visual Basic Editor
]というプログラミングソフトが用意されています。この[ Visual Basic Editor
]を使うと、「Excel=表計算ソフトウェア」という枠を飛び越えて、定型となっている作業や処理を自動化する、オリジナルのマクロソフトを作る事ができます。
[ Visual Basic Editor ]には、ユーザーが操作する手順を[ VBAマクロ
]として、自動的に記録する方法が用意されています。この機能を使うと、ユーザーはまるでカセットレコーダーのボタンを押すような手軽さで、[
VBAマクロ ]というプログラムが組めてしまいます。
最初のうちは、自分で操作した手順が、どのようなマクロとして記録されているのか、ただ眺めているだけでも参考になるでしょう。また、マクロの自動記録を眺めていると、記録できない操作部分にも気付かれると思います。「あなたが決めた条件や処理の結果」通りの動作をさせるには、キーボードからコードを入力して、VBAマクロプログラムを組み立てていく必要があります。
図:Excel付属のVisual Basic Editor を使って、オリジナルのマクロを組む
本書では、VBAマクロを使った様々なExcelの活用方法や、それに合わせたVBAマクロの組み方を解説しています。実用されているVBAマクロの解説なので、関数やプロパティについて旺盛な知識を持っていても、自身でVBAマクロを組めなかった方へは、参考にしていただくことを期待しています。
実例を基にしたVBAマクロサンプルには、その一つ一つに独立した使い道があります。それらのVBAマクロを分解しながら、「その部分のコードは、どうなっているのか」、また、「どうして、そのようなコードにしたのか」というところに重点をおいて解説しています。VBAマクロプログラムの組み方には、人それぞれの癖があります。本書以外にも作者によって異なるたくさんのプログラムソースを見て、貴方自身にとって最適な方法を見つけてください。
INDEX
- 1.オリジナルメニューの追加
★
マクロの警告メッセージを表示させない方法 ★
ブックを開いたとき、マクロを自動的に実行する ★
Excelメニューバーに、オリジナルのメニューを追加する ★
Excelメニューバーから、オリジナルのメニューを削除する ★
VBAマクロのコードの実行速度を速くする ★
エラーが発生しても、マクロを中断させない ★
ブックを閉じるとき、マクロを自動的に実行する ★ [ Enterキー
]押下後の、アクティブセルの移動方向を制御する ★
イベントプロシージャを解除する ★ [
For〜Nextステートメント ]で、今日を基準とした複数のメニュー項目を作る ★
1つのプロシージャで、複数の異なるテキストファイルをワークシートに読み込む ★
新規に作成するブックに含まれるシート数を定める ★
新規にブックを作成する ★
任意の文字で区切られたテキストファイルをシートに展開する
- 2.使用者の履歴を残す
★
値が確定して初めて動くExitイベントプロシージャ ★
マルチページコントロールのページを切り替える ★
外部ファイルが無ければ新規に作成し、データを追記する
- 3.ユーザーフォームは1つしかなかった
★ [ API関数
]で、モニターの解像度を求める ★
モニター画面の解像度に合わせ、ユーザーフォームのサイズを変更する ★
指定したファイルの有無を調べる ★
コントロールに外部画像ファイルを読み込む ★
VBAマクロの実行中に、ユーザーフォームのサイズを動的に変更する ★ タイトルバーの[
X(閉じる) ]ボタンを無効にする ★
4つの異なるユーザーフォームを同時に表示する
- 4.メニュー画面のボタンデザイン
★
複数のコントロールを使って、コントロールをデザインする ★
リストボックスコントロールの選択項目を使う ★
複数の選択肢があるメッセージボックスを表示し、処理を分岐する ★
コントロールに表示する数値の書式(桁カンマ区切り)を設定する
- 5.点滅するボタンコントロール
★
コントロールの色を変更して、点滅しているように見せる ★
複数のプロシージャをバックグラウンドで動作させる ★
カウントダウン・カウントアップタイマーを使う
- 6.ユーザーフォーム上から、セル範囲を指定
★ [
RefEditコントロール ]で、セル範囲を指定して使う ★
区切り文字を指定して、文字列(セルアドレスの参照式)を分割して表示する
- 7.リストの項目を設定する
★ [
Array関数 ]で、リスト項目を設定する ★
リストを複数列で使い、表示する列数を設定する ★
リストで表示する列の幅を設定する ★
オプションボタンの値に併せ、多次元配列のリスト項目を追加する ★
外部ファイル(画像)のファイル名・作成日時・バイト数を取得する ★
セル範囲をコンボボックスのリスト項目に設定する ★
列(セル)の中で、データの入力されている空白以外のセルを数える ★
ワークシートを数えて、リスト項目に追加する ★
名前付け規則に沿ったシート名だけをリスト項目へ追加する ★
カンマ区切りの外部テキストファイルを開く ★
外部テキストファイルから、リスト選択値と同じものをリストアップする ★
2つのタイムスタンプから、経過時間(勤務時間)を計算する ★
外部ファイルのデータをリストボックスへ直接読み込む
- 8.ワークシートからセルの値を検索して、データを抽出する
★
検索値を基準として、相対位置にあるセルデータを検索抽出する ★
検索値が見つからなくとも、マクロを中断させない ★ ワイルドカード「 *
」を使って、「〜を含む」セルデータを検索抽出する ★ ワイルドカード「 *
」を使って、「〜を含む」セルを数える ★
多次元配列のデータをリストボックスの値に追加する ★
検索抽出を連続して行う
- 9.リストボックス項目の追加と削除
★
リスト項目から、任意の項目を削除する ★
リスト項目から、全ての項目を削除する ★
セルを検索抽出し、セルに値を入力する
- 10.いろいろな時間の計算
★
ワークシートで、スケジュールカレンダーを作る ★
ユーザーフォームで、万年カレンダーを作る
リンクフリー
|