Home » ExcelVBA Rangeオブジェクト » 入力規則・Validation » 入力規則の種類を取得するExcelマクロ

入力規則の種類を取得するExcelマクロ

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「validation.typeを調べるvba」
「excel validation.type 種類 取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

データの入力規則の、入力値の種類を、

入力規則の種類を取得するExcelマクロ

Excel VBA(Visual Basic for Applications)から調べるには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

[スポンサードリンク]

アクティブセルのValidation.Typeを調べるサンプルマクロ

データの入力規則が設定されているセルがアクティブな状態で、以下のSubプロシージャを実行すると、種類を表す数値がメッセージボックスに表示されます。


Sub 入力規則のTypeを調べる()
 On Error GoTo ERR_HNDL
 MsgBox ActiveCell.Validation.Type
 Exit Sub

ERR_HNDL:
 Err.Clear
 MsgBox "入力規則が設定されていません。"
End Sub

「validation.typeを調べるvba」
「excel validation.type 種類 取得」
という検索キーワードのとおり、ValidationオブジェクトのTypeプロパティで、

入力規則の種類を取得するExcelマクロ

データの入力規則の、入力値の種類を調べられます。

Validation.Typeプロパティで返される数値の意味は、「ValidationのTypeに指定できる定数一覧」をご参照ください。

アクティブセルに入力規則が設定されていないときに「ActiveCell.Validation.Type」というオブジェクト式が実行されると、実行時エラーが発生しますから、上記のプロシージャでは
  On Error GoTo ERR_HNDL
 ERR_HNDL:
  Err.Clear
  MsgBox "入力規則が設定されていません。"
というエラートラップを入れています。

アクティブシートのValidation.Typeを調べるサンプルマクロ

以下のSubプロシージャを実行すると、アクティブシートで入力規則の設定されているセルのアドレスと、Validation.Typeがイミディエイトウィンドウに、出力されます。


Sub 入力規則のTypeを調べる_For_Each()
 Dim rng As Range
 On Error GoTo ERR_HNDL
 For Each rng In Cells.SpecialCells(xlCellTypeAllValidation)
  Debug.Print _
    rng.Address(False, False) & vbTab & _
    rng.Validation.Type
 Next rng
 Exit Sub

ERR_HNDL:
 Err.Clear
 MsgBox "入力規則が設定されていません。"
End Sub

Range.SpecialCellsメソッドの引数に、定数・xlCellTypeAllValidationを指定することで、入力規則の設定されているセルを表すRangeオブジェクトを取得して、For Each~Nextループを回して、
 For Each rng In Cells.SpecialCells(xlCellTypeAllValidation)

セル番地と、Validation.Typeをイミディエイトウィンドウに出力しています。
  Debug.Print _
    rng.Address(False, False) & vbTab & _
    rng.Validation.Type

アクティブシートに入力規則が設定されていないときに、オブジェクト式「Cells.SpecialCells(xlCellTypeAllValidation)」が実行されると、実行時エラーが発生しますから先のSubプロシージャと同じようにエラートラップしています。
  On Error GoTo ERR_HNDL
 ERR_HNDL:
  Err.Clear
  MsgBox "入力規則が設定されていません。"

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 入力規則・Validation » 入力規則の種類を取得するExcelマクロ

TrackBack:1

TrackBack URL
アクティブセルに入力規則が設定されているか判定するExcelマクロ from インストラクターのネタ帳
エラー処理を使って、アクティブセルに入力規則が設定されているか判定するExcelマクロをご紹介しています。

Home » ExcelVBA Rangeオブジェクト » 入力規則・Validation » 入力規則の種類を取得するExcelマクロ

「入力規則・Validation」の記事一覧

検索


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

.