
EXCEL2003を使っています。
EXCELシートのあるセルに対し、入力規則が以下のように設定されています。
・入力値の種類:「リスト」
・データ:複数の値を直接設定(「りんご,みかん,もも」のような形式)
このとき、リストに設定されているすべての値をVBAで取得したいと思っています。
入力規則で設定されている内容を取得する方法をご存知の方、ご教示いただけますでしょうか。
そもそも入力規則で設定されている内容を取得することは可能なのでしょうか。
よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
RangeオブジェクトのValidationプロパティより取得できます。
入力規則がないセルが指定されるとエラーになってしまうので、On Error~を記述してあります。
On Error Resume Next
With Range("A1").Validation
If .Type = xlValidateList Then
MsgBox .Formula1
End If
End With
On Error GoTo 0
No.2
- 回答日時:
RangeオブジェクトのValidationプロパティから取得できると思います
Sub Test
dim r as Range, t as range
dim v as Validation
' シートの記入済み等のセルを取得
set r = ActiveSheet.UsedRange
' セルを個別に処理
for each t in r
' 入力規則を取得
set v = t.validation
dim ss as String
ss = ""
' 設定されて無い場合のエラートラップ
on error resume next
' 入力規則がリストなら
if v.type = xlValidateList then
' 設定値を取得
ss = v.fomula1
if ss<>"" then
' インディエイトに表示
Debug.Print ss
end if
end if
on error goto 0
next
End Sub
といった具合でどうでしょう
早速のご回答ありがとうございました。
記述していただいたソースを試してみましたが、「424 オブジェクトが必要です」の実行時エラーが発生してしまいました。
原因を調べたところ、対象とするシート内の入力規則設定内容取得対象のセルは、値が何も選択されていない状態のため、UsedRangeプロパティでは値の指定が必要なこともわかりました。
ご回答いただいたロジックも今後参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
- Excel(エクセル) 別シートの表の値を参照したい 2 2022/03/30 15:11
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Excel(エクセル) Excelについて Excel初心者です。 日報に数字を入力する時、誤った数字を入れると、セルが赤く 6 2023/03/31 17:05
- Excel(エクセル) Excelマクロ(VBA)CELL形式とA1形式の使い分け 6 2022/08/27 23:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DOSコマンドの時間取得について
-
ブラウザ上でデータベースのテ...
-
画像などの位置を取得するには
-
Excelで可視セルの行番号取得
-
Formatでmmが月と分を意味する理由
-
WebBrowserに表示されているペ...
-
ActiveWorkbook.Pathの一つ下の...
-
OpenGLでBMP画像を出力するには?
-
VBAでTIFF画像を読み込むには?
-
スプレッドのアクティブセルの...
-
jspからServletを呼び、元のjsp...
-
C言語で今まで表示していた画面...
-
三菱GOTの画面切り替えについて
-
フォーム上で押されたボタンに...
-
ボタンが活性化の場合とは、ボ...
-
Java-jspの画面入力値保持について
-
javaのstrutsを使った画面遷移...
-
C# ログイン画面からメイン画面...
-
Perlで処理の進行状況をユ...
-
【JavaScriptわからない】1クリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
登録済みイベントリスナーの情...
-
ActiveWorkbook.Pathの一つ下の...
-
VBAでTIFF画像を読み込むには?
-
EXCEL VBAで、EXCELの入力規則...
-
Excelで可視セルの行番号取得
-
Formatでmmが月と分を意味する理由
-
指定地点(緯度・経度)から指定...
-
ActiveReportのDataSourceについて
-
スプレッドのアクティブセルの...
-
strutsで空白を認識させるには?
-
vb上で実行させたコマンドに変...
-
java → jsp コンボボックス表示...
-
自分のファイル名取得
-
log4jでログレベルが取得できな...
-
javascriptでIMEの状態を取得
-
Spreadでの複数行選択
-
outlook vbaについて
-
JAVA と JSPの ArrayListのやり...
-
テキストフィールドの値をほか...
-
画像などの位置を取得するには
おすすめ情報