教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 演算子】オブジェクトを比較(Is)するの方法が知りたいです。教えて!

構文

構文は以下の通りです。

結果 = オブジェクト1 Is オブジェクト2

解説

オブジェクトを比較するためには、Is演算子を使用します。この構文では、オブジェクト1とオブジェクト2を比較し、その結果を「結果」として返します。Is演算子は、オブジェクトが同一のオブジェクトであるかどうかを判定します。

使い方

具合的な使い方を紹介します。

Sub CompareObjects()
    Dim obj1 As Range
    Dim obj2 As Range
    Dim result As Boolean
    ' オブジェクト1とオブジェクト2を設定する
    Set obj1 = Range("A1")
    Set obj2 = Range("A2")
    ' オブジェクトの比較
    result = obj1 Is obj2
    ' 結果の表示
    If result Then
        MsgBox "オブジェクト1とオブジェクト2は同一のオブジェクトです。"
    Else
        MsgBox "オブジェクト1とオブジェクト2は異なるオブジェクトです。"
    End If
End Sub

このコードでは、Rangeオブジェクトを使用してオブジェクト1とオブジェクト2を設定します。そして、Is演算子を使用してオブジェクトを比較し、結果を判定します。最後に、結果をメッセージボックスで表示します。

プログラミング例

以下に、具体的なプログラミング例を示します。

Sub CompareObjects()
    Dim obj1 As Worksheet
    Dim obj2 As Worksheet
    Dim result As Boolean
    ' オブジェクト1とオブジェクト2を設定する
    Set obj1 = ThisWorkbook.Sheets("Sheet1")
    Set obj2 = ThisWorkbook.Sheets("Sheet2")
    ' オブジェクトの比較
    result = obj1 Is obj2
    ' 結果の表示
    If result Then
        MsgBox "オブジェクト1とオブジェクト2は同一のオブジェクトです。"
    Else
        MsgBox "オブジェクト1とオブジェクト2は異なるオブジェクトです。"
    End If
End Sub

このプログラムでは、Worksheetオブジェクトを使用してオブジェクト1とオブジェクト2を設定します。そして、Is演算子を使用してオブジェクトを比較し、結果を判定します。最後に、結果をメッセージボックスで表示します。

まとめ

Is演算子を使用することで、オブジェクト同士が同一のオブジェクトであるかどうかを簡単に判定することができます。是非活用してください。