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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
入力規則のリスト選択
Visual Basic(VBA)
-
マクロ 入力規則は残し文字のみ削除
Excel(エクセル)
-
エクセルでプルダウン選択されたらマクロの処理を実行させる方法
Word(ワード)
-
-
4
別のシートから値を取得するとき
Visual Basic(VBA)
-
5
VBAで入力規則の設定
Excel(エクセル)
-
6
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
7
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
8
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
9
エクセルマクロで特定の範囲が空白という条件
Excel(エクセル)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
12
【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
登録済みイベントリスナーの情...
-
ActiveReportのDataSourceについて
-
Formatでmmが月と分を意味する理由
-
ActiveWorkbook.Pathの一つ下の...
-
漢字読み取得方法
-
strutsで空白を認識させるには?
-
javascriptでローカルフォルダ...
-
Excelで可視セルの行番号取得
-
EXCEL VBAで、EXCELの入力規則...
-
log4jでログレベルが取得できな...
-
リクエストに応じたselectedの...
-
フォーム上で押されたボタンに...
-
C言語で今まで表示していた画面...
-
ボタンが活性化の場合とは、ボ...
-
漏電遮断器の黄色ボタンと白色...
-
三菱GOTの画面切り替えについて
-
VB6 開発環境のエディタに行...
-
jspでbeanを使いたいのです...
-
system("cls")について
-
このadidasの腕時計の時刻の設...
マンスリーランキングこのカテゴリの人気マンスリー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でコマンドライン引数...
おすすめ情報