Excel VBA

The With statement in Excel VBA is a syntax for succinctly expressing multiple property and method operations on the same object.

With...End With

 Withステートメントは特定のオブジェクトに対して複数のプロパティやメソッドを連続して実行する際に便利な構文です。Withステートメントを使用することで、同じオブジェクトを繰り返し参照する必要がなくなり、コードの可読性が向上します。

 Withステートメントは通常、次のように使用されます。

VBA

With オブジェクト
	.プロパティ1 = 値1
	.プロパティ2 = 値2
	.メソッド1 パラメータ1
	.メソッド2 パラメータ2
End With

 ここで、オブジェクトは操作対象のオブジェクトを指定し、.プロパティ1や.メソッド1のように.で始まるプロパティやメソッドを連続して指定します。これにより、指定したオブジェクトに対する操作をまとめて行うことができます。

 以下は具体的な例を示します。Excelワークシート上のセルに値を設定する場合のWithステートメントの使用例です。

VBA

Sub SetCellValue()
	With ThisWorkbook.Sheets("Sheet1").Cells(1, 1)
		.Value = "Hello, Excel!"
		.Font.Bold = True
		.Interior.Color = RGB(255, 0, 0)
	End With
End Sub

 この例では、Withステートメントを使用して、ThisWorkbook.Sheets("Sheet1").Cells(1, 1)というセルオブジェクトに対して、値の設定、フォントの太字設定、セルの背景色設定を行っています。これにより、同じセルオブジェクトを毎回参照せずに、コードを簡潔に保つことができます。

 Withステートメントを使用することで、コードがより効率的になり、読みやすくなります。特に複数のプロパティやメソッドを同じオブジェクトに対して適用する場合に役立ちます。