Excel VBAの使い方/マクロ・VBA

エクセルのマクロ編集(With文の編集ポイント)

「エクセルのマクロ編集(編集のポイント)」で作成・編集してきたVBAプログラムを完成させます。一緒に作業を進めながら、徐々に読みやすくてわかりやすいプログラムになる過程を体験してみて下さい!

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド

エクセルのマクロ編集(編集の重要ポイント)」では、マクロ記録を使って学習用のVBAプログラムを作成し、1つ目の編集ポイント「Selectionプロパティの置き換え」について学習しました。後編にあたる今回は、その他の編集ポイントについて紹介し、学習用のVBAプログラムの編集作業を終了させます。最後に、マクロを編集するポイントについてまとめています。

Withステートメントの不要な記述を削除する

マクロの基本構文とその読み方(オブジェクト)」の「Withステートメントの構造とその読み方」や、「エクセルのマクロ編集(編集の重要ポイント)」の「マクロを編集するということ」で紹介したとおり、Withステートメントには「操作した内容以外の状態」が記述されています。


これらの記述については、次のような問題点があります。

●記録したときと違った条件でVBAプログラムを実行したときに、「操作した内容以外の状態の記述」が実行結果に思いもよらない影響を与えるかもしれない。
●本来実行させたい操作以外の処理も実行されるため、処理スピードが遅くなる。
●VBAプログラムに余計な記述が多くなるため、メンテナンスしづらくなる。

単に「VBAプログラムの分量が多くなる」だけではない、というわけです。このような理由から、記録した操作に関係しない記述は削除しておきましょう。

今回は3つのWithステートメントが記述されています。1つ目のWithステートメントで記述されているプロパティは以下の通りです。


つまり、このWithステートメントは、「セルの書式設定」ダイアログボックスの「配置」タブの設定を表していることがわかります。ここでは、文字の配置の「横位置」を「中央揃え」に設定しただけなので、HorizontalAlignmentプロパティの記述以外は削除します。


Withステートメント内に記述されているプロパティが1つだけになったため、Withステートメントの記述を削除して、シンプルな「オブジェクト.プロパティ = 設定値」の構文の形に修正します。


2つ目のWithステートメントで記述されているキーワードは以下の通りです。


Withステートメントのオブジェクト部分のFontプロパティでFontオブジェクトを取得していることからも分かりますが、このWithステートメントは「セルの書式設定」ダイアログボックスの「フォント」タブの設定を表しています。ここでは、フォントの「スタイル」を「太字」に設定しただけなので、FontStyleプロパティの記述以外は削除し、さらに「オブジェクト.プロパティ = 設定値」の構文の形に修正します。


3つ目のWithステートメントで記述されているキーワードは以下の通りです。


Withステートメントのオブジェクト部分のInteriorプロパティでセルの内部を表すInteriorオブジェクトを取得していることからも分かりますが、このWithステートメントは「セルの書式設定」ダイアログボックスの「パターン」タブの設定を表しています。ここでは、セルの「背景色」を「ローズ」に設定しただけなので、ColorIndexプロパティの記述以外は削除し、さらに「オブジェクト. プロパティ = 設定値」の構文の形に修正します。


>続いてメソッドの引数の編集です。次ページへどうぞ!
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます