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
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"].Formula = "=B1";
this.Range["B1"].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(Excel.XlReferenceStyle.xlA1));
}
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。