数値を操作したり数式を計算したりする場合、Excelはエラー値を評価し、セルの左上隅に緑色の三角形を表示してエラーを指摘する場合があります。DioDocs for Excel では、エラー評価と緑色の三角形でエラーを表示することを回避するには、IRangeインタフェースのIgnoredErrorプロパティとIgnoredErrorType列挙体が提供されます。これにより、無効な数式の結果、テキストとして保存された数値、隣接するセル内の一貫性のない数式などのエラーを無視でき、Excelの特定のセル範囲のセルの左上隅に緑色の三角形を表示しないようにできます。
IgnoredErrorプロパティは、行、列、またはセルをコピーまたは切り取る場合は変更されないが、行、列、またはセルを挿入または削除する場合は移動または削除されます。シートをコピーまたは移動すると、プロパティもコピーまたは移動されます。IgnoredErrorを取得すると、最初のセル四角形の左上のセルのIgnoredErrorプロパティが返されます。
DioDocs for Excel では、次の種類のエラーを無視できます。
エラーの種類 | 説明 |
---|---|
None | エラーは無視されません。 |
InconsistentListFormula | 計算した列内の数式の不一致のエラーを無視します。 |
InconsistentFormula | 範囲内の数式の不一致のエラーを無視します。 |
OmittedCells | 含まれる可能性のある隣接セルを除外する範囲を参照する数式を含むセルのエラーを無視します。 |
TextDate | 年が間違った世紀として誤解されるテキスト形式のセルが含まれている数式のエラーを無視します。 |
EmptyCellReferences | 数式に空のセルへの参照が含まれている場合のエラーを無視します。 |
ListDataValidation | データをリスト内の事前定義された項目に制限するデータ検証ルールに準拠していないセル値のエラーを無視します。 |
EvaluateToError | 数式結果のエラーを無視します。 |
NumberAsText | テキストとして保存されている、または前にアポストロフィが付いている数値を含むセルのエラーを無視します。 |
UnlockedFormulaCells | 数式を含むロックされていないセルのエラーを無視します。 |
All | すべての種類のエラーを無視します。 |
指定された範囲内のすべての種類のエラーを無視する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
// 新しいワークブックを作成します var workbook = new Workbook(); // Add data object. object[,] data = new object[,]{ {"Name", "City", "Birthday", "Eye color", "Weight", "Height"}, {"Richard", "New York", new DateTime(1968, 6, 8), "Blue", "67", "165"}, {"Damon", "Washington", new DateTime(1986, 2, 2), "Hazel", "76", "176"}, {"Angela", "Washington", new DateTime(1993, 2, 15), "Brown", "68", "145"} }; // この範囲内では、エラーは無視されません IWorksheet worksheet = workbook.Worksheets[0]; worksheet.Range["A:F"].ColumnWidth = 15; worksheet.Range["A1:F1"].Merge(); worksheet.Range["A1:F1"].Value = "Ignores No Range Errors"; worksheet.Range["A1:F1"].Font.Bold = true; worksheet.Range["A1:F1"].HorizontalAlignment = HorizontalAlignment.Center; worksheet.Range["A2:F5"].Value = data; worksheet.Tables.Add(worksheet.Range["A2:F5"], true); // この範囲内では、すべてのエラーを無視します worksheet.Range["A7:F7"].Merge(); worksheet.Range["A7:F7"].Value = "Ignores All Range Errors"; worksheet.Range["A7:F7"].Font.Bold = true; worksheet.Range["A7:F7"].HorizontalAlignment = HorizontalAlignment.Center; worksheet.Range["A8:F11"].Value = data; worksheet.Tables.Add(worksheet.Range["A8:F11"], true); // A8:F11セル範囲のあらゆる種類のエラーを無視します worksheet.Range["A8:F11"].IgnoredError = IgnoredErrorType.All; // ワークブックを保存します workbook.Save("IgnoreRangeError.xlsx"); |