2002/2003/2007対応 ExcelVBA辞典 プログラミング実践編

概 要

「マクロやVBAはある程度使ったことがあるけれど、もっと理解を深め、複雑な処理を自動化したい」という脱初心者向けに、Excelをより便利に使うプログラミング言語「Excel VBA」を詳細に解説したVBA辞典です。本書では豊富な事例と詳細なコード解説、コードの応用技も多数掲載。サンプルデータを使って、プログラムの動きを実際に確認し、動きの違いを確かめて学習したり、サンプルを自分なりにアレンジして、より便利なプログラムを作れます。最新のExcel2007はもとより、2002、2003といった旧バージョンにもバッチリ対応。サンプルのダウンロードサービス付き。

著者 E-Trainer.jp[常見美保]
価格 本体2000円(税別)
ISBN 978-4-7980-2224-6
発売日 2009/4/2
判型 A5
色数 2色
ページ数 416
CD/DVD
対象読者 初級
シリーズ Office Dictionary Series
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 アプリケーション作成のための基礎知識

1-01 プログラムの構成要素を確認する

事例1 ワークシートの名前を取得し、セル[B2]に入力したい

1-02 VBEについて理解する

1-03 プログラムで使用するデータについて理解する

事例1 変数を宣言し、別の型のデータを代入してエラーを確認したい

事例2 定数にデータを代入し、エラーを表示したい

事例3 配列を宣言し、データを代入したい(1)

事例4 配列を宣言し、データを代入したい(2)

1-04 関数について理解する

事例1 セル範囲の合計をメッセージボックスに表示したい

事例2 ワークシート関数「VLookup」を使用して、セル[A2]の値をセル[C2:D36]の左端の列から検索し、2列目の値をメッセージボックスに表示したい

1-05 引数について理解する

事例1 カンマ区切りの引数を使用し、ワークシートを移動したい

事例2 名前付き引数を使用し、ワークシートを移動したい

1-06 戻り値について理解する

事例1 日付をセルに入力したい

事例2 Functionプロシージャをワークシートで使用したい

事例3 Functionプロシージャをプロシージャ内で使用したい

事例4 A列の列幅を表示したい

1-07 条件分岐について理解する

事例1 入力されている値によって表示するメッセージを変えたい(1)

事例2 入力されている値によって表示するメッセージを変えたい(2)

事例3 入力されている値によって表示するメッセージを変えたい(3)

1-08 エラー処理について理解する

事例1 コンパイルエラーを発生させたい

事例2 実行時エラーを発生させたい

事例3 Debug.Printで変数の内容を表示したい

事例4 ブレークポイントを設定して処理を中断したい

事例5 変数の値を確認したい

事例6 エラーのときにメッセージを表示したい

事例7 エラーが発生しても無視して、次のステートメントを実行したい

事例8 エラーが発生した行からプログラムを再開したい

事例9 最初のエラーは処理し、次のエラーの時は実行時エラーとしたい

1-09 マクロの実行方法について理解する

第2章 表示形式

2-01 表示形式が設定されたセルを制御する

事例1 カンマや日付の表示形式を含めて値を取得したい

2-02 書式設定を変更せずに置換の処理を実行する

事例1 文字のフォントの設定はそのままで文字の置換を行いたい

2-03 セルの色を設定する(1)

事例1 コピー先のセルに色が設定されている場合には網掛けを設定し、設定が行われていない場合にはコピー元のセルの色をコピーしたい

2-04 セルの色を設定する(2)

事例1 2つのワークシートを比較して、不一致箇所がある場合にセルとフォントに色を設定したい

2-05 セルの色を設定する(3)

事例1 アクティブセルのある行列のセルの色を変更したい

2-06 セルの色を設定する(4)

事例1 セルに入力されている値によって、セルの書式を変更したい

2-07 罫線を引く

事例1 データが入っている範囲に自動的に罫線を引きたい

2-08 コメントを制御する

事例1 ワークシートに入力されているコメントの一覧を作成したい

2-09 ハイパーリンクを利用する 94

事例1 ハイパーリンクのクリック履歴を保存したい

2-10 テキストボックスを制御する

事例1 ワークシート上にテキストボックスを作成し、文字列が縦横方向ともに中央揃えになるようにしたい

2-11 1行おきにセルに網掛けを設定する

事例1 1行おきにセルの網掛けと色を設定したい

第3章 データ制御

3-01 データの最下部のセルを特定する

事例1 連続したデータ範囲の最下部を選択したい

事例2 連続していないデータ範囲の最下部を選択したい

事例3 データ範囲の最下部を選択したい

3-02 繰り返し処理を行う

事例1 データが入力されている最終行まで、同じ処理を繰り返し行いたい

3-03 アクティブセル領域を利用する

事例1 指定されたセルに設定を行いたい

3-04 空白行を削除する

事例1 空白行を削除したい

3-05 数値を文字列に変換する

事例1 書式のついた数値を書式ごと文字列に変換したい

3-06 文字を数値に変換する

事例1 入力されている文字列を数値として取り扱いができるように変更したい

3-07 A1形式の列番号を取得する

事例1 A1形式の列番号を取得したい

3-08 VBAでワークシート関数を使用する

事例1 社員マスタを参照して、社員が所属している支店名を表示したい

3-09 ダブルクリックでデータを入力する

事例1 セルをダブルクリックすることで日付を入力したい

3-10 シートをコピーして保存する

事例1 シートをコピーして、年月のファイル名で保存したい

3-11 タイムカードを作成する

事例1 土日や祝日を設定したタイムカードを作りたい

3-12 複数のシートを制御する

事例1 複数のシートにフッター/ヘッダーの設定を行いたい

3-13 シートを削除する

事例1 データの入力されていないワークシートを、メッセージを表示せずに削除したい

3-14 特定の数式を含むセルを検索する

事例1 「*」の数式が含まれているセルを検索したい

3-15 選択しているセルの列数と行数を取得する

事例1 選択しているセルの列番号、行番号、列数、行数、売上の合計を表示したい

3-16 ワークシートを制御する

事例1 セルに入力されている名前でワークシートを作成し並べ替えたい

3-17 類似データを整理する

事例1 標準表示氏名を作成して、隣のセルに表示したい

3-18 一覧表を別のキーで整理する

事例1 氏名一覧を所属部署ごとの一覧に変更したい

3-19 項目別に別のシートに転記する

事例1 帳票に入力されたデータを項目別ワークシートに転記したい

3-20 図形を制御する

事例1 ワークシート上にある複数の図形を整列させたい

3-21 テキストボックスの文字列を制御する

事例1 テキストボックスに入力された文字列を、区切り文字を指定して別々のセルに入力したい

3-22 ユーザー定義関数を作成する

事例1 勤務表に使用する実働時間を算出する関数を作成したい

3-23 エラーの内容を確認する

事例1 エラー番号と内容を表示したい

3-24 ユーザー設定リストを追加する

事例1 表からユーザー設定リストを追加したい

第4章 フォーム・コントロール

4-01 コマンドボタンの文字の表示を変更する

事例1 コマンドボタンの文字列の配置を縦書きに設定したい

4-02 1行のデータを複数行表示に変更する

事例1 1行に入力されているデータが複数行に表示されるように変更し、スクロールバーを表示したい

4-03 コントロールの外観を変更する

事例1 テキストボックスにデータが入力されたとき、ラベルの色を変更したい

4-04 テキストボックスの値をセルに転記する

事例1 コントロールで設定した値をワークシートに転記したい

4-05 テキストボックスの内容をチェックする

事例1 テキストボックスに入力された内容をチェックして、間違いの時はエラーメッセージを表示したい

4-06 コマンドボタンを有効にする

事例1 すべてのテキストボックスに文字が入力されたとき、コマンドボタンを有効にしたい

4-07 リストボックスのリストの内容を変更する

事例1 コンボボックスで項目を選択すると、リストボックスの項目が変更されるようにしたい

4-08 チェックボックスの条件に合わせてリストボックスの項目を変える

事例1 チェックボックスがオンの条件のデータだけリストボックスに表示したい

4-09 入力に使用するリストを表示する

事例1 社員マスターを参照して、社員名をコンボボックスから選択できるようにしたい

4-10 トグルボタンで他のコントロールを制御する

事例1 トグルボタンのオン、オフでテキストボックスの入力を制御したい

4-11 オプションボタンで他のコントロールを制御する

事例1 オプションボタンを変更すると、表示される画像が切り替わるようにしたい

4-12 スピンボタンの増減の値を変更する

事例1 スピンボタンをクリックして、テキストボックスの値を変更したい

4-13 フォームの表示、非表示を切り替える

事例1 2つのユーザーフォームの表示、非表示を切り替えたい

4-14 テキストボックスでコピーを禁止する

事例1 テキストボックスで貼り付けを禁止したい

4-15 アニメーションを再生する

事例1 Excel ブックを開いたタイミングで注意事項が記載されたgifアニメーションを表示するようにしたい

4-16 選択したセルの値をフォームに表示する

事例1 選択したセル範囲の値をリストボックスに表示したい

4-17 テキストボックスに入力できる値を制限する

事例1 テキストボックスに入力できる値を制限し、入力された値をチェックしたい

4-18 データを登録するユーザーフォームを作成する

事例1 1件分のレコードのデータを表示し、別レコードへの移動や新規レコードを登録して、レコードの削除ができるフォームを作成したい

第5章 比較&抽出&検索&集計

5-01 複数ワークシートのデータをまとめる

事例1 複数ワークシートに入力されたデータを1つのワークシートにまとめたい

5-02 重複データの数を数える

事例1 列内の重複データの件数を表示したい

5-03 条件に合うデータの数を数える

事例1 複数の条件にあった社員が何名いるのかカウントしたい

5-04 抽出されたデータをコピーする

事例1 オートフィルタで抽出されたデータのみをコピーしたい

5-05 複雑な条件で抽出する

事例1 別シートに入力されている複数の条件でデータを抽出したい

5-06 複数のワークシートのデータを確認する

事例1 ある特定の日付にあるデータをすべてのワークシートから抽出したい

5-07 データを並べ替える(1)

事例1 並べ替えの条件を複数(条件4つ以上)設定したい

5-08 データを並べ替える(2)

事例1 入力されているデータのふりがなを別のセルに表示し、並べ替えを行いたい

5-09 データを並べ替える(3)

事例1 データ範囲ごとに並べ替えを行いたい

5-10 データを並べ替える(4)

事例1 2行ずつ並べ替えを行いたい

5-11 データを並べ替える(5)

事例1 データを入力すると並べ替えが行われるように設定したい

5-12 データを比較する(1)

事例1 登録済データと新規データのマッチングを行い、データの重複を防ぎたい

5-13 データを比較する(2)

事例1 1枚目のワークシートから、2枚目のワークシートと同じキーのデータを取り出し、3枚目のワークシートに転記したい

5-14 データを比較する(3)

事例1 1枚目のワークシートから、2枚目のワークシートにないデータを取り出し、3枚目のワークシートに転記したい

5-15 集計を行う(1)

事例1 VBAを使用して集計を行いたい

5-16 集計を行う(2)

事例1 ブック内のワークシートすべての串刺し集計を自動的に行いたい

5-17 集計を行う(3)

事例1 処理を行うワークシート数や項目が異なる表の集計を自動的に行いたい

5-18 ピボットテーブルを作成する

事例1 ピボットテーブルを作成したい

第6章 ウィンドウ、ファイル保存、その他

6-01 行、列を制御する

事例1 保存前に、行高と列幅を修正したい

6-02 行を追加する

事例1 特定のデータが入力されている行列の隣に、新しい行列を挿入したい

6-03 ショートカットキーでワークシートを切り替える

事例1 ショートカットキーで直前に表示していたワークシートに切り替えたい

6-04 ウィンドウ枠を固定する

事例1 アクティブセルから3行下でウィンドウ枠を固定したい

6-05 数式を印刷する

事例1 ワークシートに入力されている数式を一覧で印刷したい

6-06 連番を印刷する

事例1 同じワークシートを複数枚印刷するときに、連番をつけて印刷したい

6-07 印刷の条件を指定する

事例1 入力必須の項目が全て入力されている場合のみ、印刷可能に設定したい

6-08 連続印刷を行う

事例1 印刷時に指定した日付までの期間の連続印刷を行いたい

6-09 他のブックの値を参照する

事例1 前年度の同じ月のデータを参照したい

6-10 フォルダ名/ファイル名を取得する

事例1 バックアップファイルを保存するために、フォルダ名とファイル名を取得したい

6-11 特定のデータをファイルに保存する

事例1 全売上データから顧客別の売上データを抽出し、新しいファイルに保存したい

6-12 ドライブの容量を取得する

事例1 一覧されたフォルダのパスからフォルダの容量を取得して表示したい

6-13 処理を分岐する

事例1 ブック内に請求書がない場合には、メッセージを表示して処理を分岐したい

6-14 ファイルが開いているかどうか確認する

事例1 処理を行うために必要な2つのファイルが開かれているか確認し、開かれていない場合にはファイルを開きたい

6-15 他の形式でファイルを保存する

事例1 WebページやPDFとしてファイルを保存したい

6-16 自動実行を行う

事例1 特定の時間になると自動実行されるようにしたい

6-17 データを保護する

事例1 特定のデータが変更されないように保護したい

6-18 マクロを保護する

事例1 マクロを変更されないように保護したい

6-19 Excelを終了させる

事例1 保存のメッセージを表示せずにExcelを終了させたい

6-20 他のアプリケーションを操作する

事例1 コマンドボタンで、電卓の起動、計算結果の取得、終了を行いたい

6-21 ショートカットメニューを作成する

事例1 ショートカットメニューで、電卓の起動と計算結果の取得、終了を行いたい

6-22 ExcelのグラフをWordに貼り付ける

事例1 ExcelのグラフをWordに図として貼り付けたい

6-23 ブラウザを起動する

事例1 ブラウザを起動し、セルに入力されているURLを表示したい

6-24 メールを送信する

事例1 Excelのデータを利用して、メールを作成する

コードの応用目次

複数の条件でセルの色を変更するには

追加された領域に罫線を設定するには

セルの文字をコメントにするには

コメントを削除する

図形にハイパーリンクを設定したい

テキストボックスの文字をセルに入力する

セルを1つずつ参照しながら操作する

文字列から数値への変換

数式をセルに入力する

選択されている図形のみ整列する

改行コードを取得する

休日出勤の時間を算出したい

登録されているユーザー設定リストの一覧を作成したい

複数のコントロールに同じ処理を行いたい

ビットマスクを使った処理を行いたい

コンボボックスの項目に存在する入社年を設定したい

事例をより簡潔なコーディングで作成したい

もっと簡潔に入力を制御したい

CountIf関数をセルに入力したい

Subtotalメソッドを使用しないでデータを数えたい

抽出結果を条件別にワークシートにコピーしたい

ふりがなで並べ替えを行いたい

データをシャッフルしたい

アウトラインをクリアし、小計、合計行を削除したい

複数行を挿入したい

登録したショートカットキーを取り消したい

SplitRowプロパティ、SplitColumnプロパティを使用して固定したい

自動的にアドインを組み込みたい

ショートカットメニューを削除したい

ショートカットキーで呼び出せるショートカットメニューを作成したい

ExcelのグラフをWordにリンク貼り付けしたい

メールにファイルを添付して送信したい

PR

秀和システム