Excel Microsoft VBA

『With』ステートメントでコードをシンプルに !【VBA入門講座#12】

サブロー
こんにちは。サブローです。

『Microsoft Excel』(以下Excel、エクセル)の中の機能としてある[VBA] について基本的な説明をしていきます。

仕事の改善や個人的な知識向上に役立ててください(^o^)

第12回目の今回は

・同一オブジェクトの省略【With】

について解説していきますので、よろしくお願いします。

前回までのVBAに関するINDEXは下記を参照してくださいね。

↓サブログ内部リンク(VBA用INDEX)↓

Excel VBA講座-目次(INDEX)

サブローExcel VBAに関する説明を今後増やして行く予定なので、各リンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 目次(INDEX) 講座No内容 ...

続きを見る






「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用語辞典

モグゾー
それでは、今回はここまで。最後までお読みいただきありがとうございました!

2020年4月20日公開




~INDEX一覧~

エクセル関数の勉強 1

サブローエクセル/Excel関数の一覧にしています。本ブログ内で記事にしているものは、講座の列にリンク付けを随時行います(^o^) ※使用頻度のランクに関しては、個人的な主観でランク付けをしています。 ...

2

サブロー危険物取扱者試験 乙4種対策講座の目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 【目次/INDEX】 講座ID分類内容リンク 1共通#1『危険物取扱者試験』の ...

3

サブローQC(品質管理)検定に関する説明が増やして行く予定なのでリンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 モグゾー対象級を記載していますが、あく ...

4

サブローExcel VBAに関する説明を今後増やして行く予定なので、各リンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 目次(INDEX) 講座No内容 ...

-Excel, Microsoft, VBA
-,

Copyright© サブログ , 2020 All Rights Reserved Powered by AFFINGER5.