
『Microsoft Excel』(以下Excel、エクセル)の中の機能としてある[VBA] について基本的な説明をしていきます。
仕事の改善や個人的な知識向上に役立ててください(^o^)
第12回目の今回は
・同一オブジェクトの省略【With】
について解説していきますので、よろしくお願いします。
前回までのVBAに関するINDEXは下記を参照してくださいね。
↓サブログ内部リンク(VBA用INDEX)↓
-
-
目次
Excel VBA講座-目次(INDEX)
サブローExcel VBAに関する説明を今後増やして行く予定なので、各リンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 スラスラ読めるExcel VBA ...
続きを見る
「With」を使用した記述の省略について
「With」ステートメントで同じオブジェクトについての記述を省略することができます。
⇒何度も同じオブジェクトを指定が不要になるので、記述が読みやすくなります。
「With」の後ろにオブジェクトを指定し、指定したオブジェクトの処理を記述します。以後オブジェクトの記述は省略ができ、ピリオド/ドット『.』)のあとにプロパティやメソッドを記述し、最後に「End With」を記述します。
<書式>
With オブジェクト
.オブジェクトに対する処理
.オブジェクトに対する処理
・・・・
End With
使用例1
<コード記入例-「With」を使用しない例>
Sub With1()
Range("C4").Font.Name = "MS ゴシック" ’⇒フォントを"MSゴシック"に変更します
Range("C4").Font.Size = 15 ’⇒フォントサイズを"15"に変更します
Range("C4").Font.Bold = True ’⇒フォントを"太文字"に変更します
End Sub
<コード記入例-「With」を使用する例>
Sub With2()
With Range("C4").Font
.Name = "MS ゴシック" ’⇒フォントを"MSゴシック"に変更します
.Size = 15 ’⇒フォントサイズを"15"に変更します
.Bold = True
’⇒フォントを"太文字"に変更します
End With
End Sub
使用例2
<コード記入例-「With」を使用しない例>
Sub With3()
ActiveSheet.Range("B1").Value = ActiveSheet.Range("C1").Value + ActiveSheet.Range("D1") ’⇒B1セルにC1セル+D1セルの値を入れます
End Sub
<コード記入例-「With」を使用する例>
Sub With4()
With ActiveSheet
.Range("B1").Value = .Range("C1").Value + .Range("D1") ’⇒B1セルにC1セル+D1セルの値を入れます
End With
End Sub
使用例3-ネスト構造(入れ子構造)
<コード記入例-「With」を使用しない例>
Sub With5()
Range("B3:D3").Interior.Color = 65535 ’⇒選択セルの色を"黄色"にします
Range("B3:D3").HorizontalAlignment = xlCenter ’⇒セル中央に移動します
Range("B3:D3").Font.Name = "MS P明朝" ’⇒フォントを"MS P明朝"に変更します
Range("B3:D3").Font.Size = 10 ’⇒フォントサイズを"10"に変更します
End Sub
<コード記入例-「With」を使用する例>
Sub With6()
With Range("B3:D3")
.Interior.Color = 65535 ’⇒選択セルの色を"黄色"にします
.HorizontalAlignment = xlCenter ’⇒セル中央に移動します
With .Font
.Name = "MS P明朝" ’⇒フォントを"MS P明朝"に変更します
.Size = 10
’⇒フォントサイズを"10"に変更します
End With
End With
End Sub
構造化プログラミングにおける、プログラムの構築手法のひとつ。複数の命令群をひとまとまりの単位にくくり、何段階にも組み合わせていくことでプログラムを構成する。このまとまりをネストという。主なネストの種類は、条件分岐(C言語などでは「if」文)、一定回数の繰り返し(同「for」文)、および条件つき繰り返し(同「while」文)である。ネストの内部に別のネストを何段階にも重ね、入れ子構造にしていくことを指して「ネスト」「ネスティング」と呼ぶことがある。参照元:ネストとは 〔 入れ子 〕 【 nest 】 – 意味/解説/説明/定義 : IT用語辞典

下のVBA講座も是非ご覧下さい!!
関連
前回のVBA講座(第11回)
ブックの保護・解除でセキュリティ強化 !【VBA入門講座#11】
関連
次回のVBA講座(第13回)