Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » エラーセルの個数を取得する-SpecialCells(xlCellTypeFormulas, xlErrors).Count

エラーセルの個数を取得する-SpecialCells(xlCellTypeFormulas, xlErrors).Count

対象:Excel2010, Excel2013, Windows版Excel2016

選択オプションダイアログ

「SpecialCells(xlCellTypeFormulas, xlErrors) セルの数」
という検索キーワードでのアクセスがありました。

RangeオブジェクトのSpecialCellsメソッドに、引数xlCellTypeFormulasとxlErrorsを指定すると、エラーとなっているセルを表すRangeオブジェクトを取得できます。

[スポンサードリンク]

「SpecialCells(xlCellTypeFormulas, xlErrors) セルの数」
と検索なさった方は、そのエラーセルのを取得するには、どうすればいいのかを探していたのでしょう。

エラーセルの個数を取得するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブシート上のエラーセルの数がメッセージボックスに表示されます。


Sub エラーセルの数を取得する()
 MsgBox _
   Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Count
End Sub

エラーとなっているセルがなかったときに、実行時エラーが発生しないようにするなら以下のようなSubプロシージャです。


Sub エラーセルの数を取得する_エラー処理あり()
 Dim rng As Range

 On Error Resume Next
 Set rng = Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
 On Error GoTo 0

 If rng Is Nothing Then
  MsgBox "エラーセルはありません。"
 Else
  MsgBox "エラーセルが、" & rng.Count & " 個あります。"
 End If
End Sub

セルの個数を取得するRange.Countプロパティ

RangeオブジェクトのCountプロパティを使うと、コレクションとしてのRangeに含まれる、単独のRangeオブジェクトの個数を取得できます。

例えばRangeプロパティを使った以下のSubプロシージャを実行すれば、A1:A5セルには5個のセルがありますから「5」が表示されます。


Sub セルの数を取得する_Range()
 MsgBox _
   Range("A1:A5").Count
End Sub

WindowオブジェクトのRangeSelectionプロパティを使った以下のSubプロシージャを実行すれば、アクティブシートで選択されているセルの個数が表示されます。


Sub セルの数を取得する_RangeSelection()
 MsgBox _
   ActiveWindow.RangeSelection.Count
End Sub

エラーセルの個数を取得する
  Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Count
で使われている「.Count」は、
  Range("A1:A5").Count
  ActiveWindow.RangeSelection.Count
の「.Count」とまったく同じRangeオブジェクトのCountプロパティです。

オブジェクトブラウザー:Range.Count

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » エラーセルの個数を取得する-SpecialCells(xlCellTypeFormulas, xlErrors).Count

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » エラーセルの個数を取得する-SpecialCells(xlCellTypeFormulas, xlErrors).Count

Copyright © インストラクターのネタ帳 All Rights Reserved.

.