次の方法で共有


WorksheetBase.CircularReference プロパティ

ワークシート上の最初の循環参照を含む範囲を表す Range オブジェクトを取得します。ワークシートに循環参照がない場合は nullnull 参照 (Visual Basic では Nothing) を取得します。

名前空間:  Microsoft.Office.Tools.Excel
アセンブリ:  Microsoft.Office.Tools.Excel.v4.0.Utilities (Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 内)

構文

'宣言
Public ReadOnly Property CircularReference As Range
    Get
public Range CircularReference { get; }

プロパティ値

型: Microsoft.Office.Interop.Excel.Range
ワークシート上の最初の循環参照を含む範囲を表す Range オブジェクトです。ワークシートに循環参照がない場合は nullnull 参照 (Visual Basic では Nothing) です。

解説

計算処理を行うには、循環参照を削除する必要があります。

次のコード例では、セル A1 と B1 に、互いの値を解決する数式を設定して循環参照を作成します。 次に、CircularReference プロパティを使用して、ワークシートに循環参照があるかどうかを報告します。

この例は、ドキュメント レベルのカスタマイズ用に作成されています。

Private Sub HasCircularReference()
    Me.Range("A1").Formula = "=B1"
    Me.Range("B1").Formula = "=A1"

    If Me.CircularReference Is Nothing Then
        MsgBox("This worksheet has no circular references")
    Else
        MsgBox("The worksheet has a circular reference at: " & _
            Me.CircularReference.Address( _
            ReferenceStyle:=Excel.XlReferenceStyle.xlA1))
    End If
End Sub
private void HasCircularReference()
{
    this.Range["A1", missing].Formula = "=B1";
    this.Range["B1", missing].Formula = "=A1";

    if (this.CircularReference == null)
    {
        MessageBox.Show("This worksheet has no circular references");
    }
    else
    {
        MessageBox.Show("The worksheet has a circular reference at: " +
            this.CircularReference.get_Address(missing, missing,
            Excel.XlReferenceStyle.xlA1, missing, missing));
    }
}

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

WorksheetBase クラス

Microsoft.Office.Tools.Excel 名前空間