
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスしたユーザーの地域(...
-
EXCEL VBAで、EXCELの入力規則...
-
ボタンが活性化の場合とは、ボ...
-
グローバルIPアドレスの変更タ...
-
三菱GOTの画面切り替えについて
-
jspからServletを呼び、元のjsp...
-
j-axis 腕時計のアラーム止めたい
-
フォーム上で押されたボタンに...
-
腕時計の時報をならないように...
-
javascriptでセッションの削除...
-
ファイルが更新されない
-
漏電遮断器の黄色ボタンと白色...
-
サブミット後、自動的に画面を...
-
遷移元を判定したい!
-
strutsで、JSP→アクションクラ...
-
JSPでソースが表示されてしまう。
-
VB.NET DataReaderが開かれている
-
Servletへフォームから配列を送...
-
C言語で今まで表示していた画面...
-
ASP.NET 画面遷移前の状態を保...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Formatでmmが月と分を意味する理由
-
ActiveReportのDataSourceについて
-
ActiveWorkbook.Pathの一つ下の...
-
EXCEL VBAで、EXCELの入力規則...
-
VBAでTIFF画像を読み込むには?
-
自分のファイル名取得
-
登録済みイベントリスナーの情...
-
google apps script スクレイピ...
-
jsp 動的テーブルについて
-
vbaでIEを操作 WEBページの表を...
-
javascriptでIMEの状態を取得
-
getTableCellRendererComponent...
-
javascriptでローカルフォルダ...
-
strutsで空白を認識させるには?
-
Spreadでの複数行選択
-
java → jsp コンボボックス表示...
-
スプレッドのアクティブセルの...
-
Now(現在時刻)を取得について
-
Excelで可視セルの行番号取得
-
ADO.NETの処理分岐について教え...
おすすめ情報