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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
入力規則のリスト選択
Visual Basic(VBA)
-
エクセルでプルダウン選択されたらマクロの処理を実行させる方法
Word(ワード)
-
マクロ 入力規則は残し文字のみ削除
Excel(エクセル)
-
-
4
別のシートから値を取得するとき
Visual Basic(VBA)
-
5
VBAで入力規則の設定
Excel(エクセル)
-
6
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
7
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
8
エクセルマクロで特定の範囲が空白という条件
Excel(エクセル)
-
9
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
10
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
11
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
12
【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActiveWorkbook.Pathの一つ下の...
-
VBAでTIFF画像を読み込むには?
-
EXCEL VBAで、EXCELの入力規則...
-
登録済みイベントリスナーの情...
-
指定地点(緯度・経度)から指定...
-
EXCELのメニュー操作アプリ(C#)
-
ActiveReportのDataSourceについて
-
javascriptでローカルフォルダ...
-
三菱GOTの画面切り替えについて
-
リクエストに応じたselectedの...
-
フォーム上で押されたボタンに...
-
C言語で今まで表示していた画面...
-
j-axis 腕時計のアラーム止めたい
-
Java-jspの画面入力値保持について
-
jspからServletを呼び、元のjsp...
-
腕時計の時報をならないように...
-
ホームページビルダーが遅い!...
-
遷移元を判定したい!
-
[JSP]1Servletから複数フレーム...
-
「<c:forEach タグが終了し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ActiveWorkbook.Pathの一つ下の...
-
VBAでTIFF画像を読み込むには?
-
Excelで可視セルの行番号取得
-
EXCEL VBAで、EXCELの入力規則...
-
登録済みイベントリスナーの情...
-
ActiveReportのDataSourceについて
-
log4jでログレベルが取得できな...
-
エクセルVBAでホームページの文...
-
Formatでmmが月と分を意味する理由
-
Spreadでの複数行選択
-
自分のファイル名取得
-
WebBrowserに表示されているペ...
-
漢字読み取得方法
-
vbaで、オートシェイプ文字列、...
-
jsp 動的テーブルについて
-
javascriptでローカルフォルダ...
-
strutsで空白を認識させるには?
-
JSON input 一覧表示
-
ドラッグ&ドロップについて
-
C++のDLLでコマンドライン引数...
おすすめ情報