こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2010、ドロップダウンリストの問題

Excel2010のドロップダウンリストについて、もとのリストが編集できず困っています。(実は電話で、そのような相談を受けているのですが)
「校閲」→「入力規則」で設定する画面がありますが、
ここで、「データの入力規則」の「設定」タブで、入力値の種類→「リスト」とし、元の値のところ、ここが「空欄」になっているようです。
にもかかわらず、
その指定のセルはドロップダウンが使えて、リストがちゃんと出てくるようです。
他の情報としては、
・ドロップダウンのセルの右に出てくる三角マークが表示されない。(本当はドロップダウンを使っていないのではないか、という疑念。あるいは単に表示されない設定にしているだけかもしれません。VBAとか使っているのか)
・セルをクリックすると「ドロップダウンのリンクがなんとか・・」という表示とともに、「実際のリスト自体は表示され、使える」ようです。
・目的としては、そのリスト自体を「編集」(修正)することです。

データを送ってもらえれば何らかの対処もあるかと思いますが、セキュリティ上の関係でできないようです。

何かヒントでも分かればお願いします。

投稿日時 - 2018-10-30 17:14:30

QNo.9552880

困ってます

質問者が選んだベストアンサー

参考にしてください。
ーー
例えばの話ですが、
VBEの標準モジュールに
Sub test07()
Worksheets("Sheet1").Range("A1:A10").Select
With Selection.Cells.Validation
.Delete
.Add _
Type:=xlValidateList, _
Formula1:="東京, 大阪, 名古屋"
End With
End Sub
と張り付けて実行すると、A1:A10セルの横に▼が出て(そのセルをクリックしたときだけ)、東京, 大阪, 名古屋のいずれかを選べます。
特徴は、複数セルに一括で設定できることです。
またシートのどこを探しても、東京, 大阪, 名古屋の文字列は見つかりません。
VBAのコードの中に定義されてます。
一方、入力規則は、VBAユーザー以外を念頭に、シートに選択データを入力しておき、このセルデータを使う仕組みです。
ーー
シートにActiveXのコンボボックスを手動で貼り付けて(Combobox1)
標準モジュールに
Sub test09()
Worksheets("Sheet1").ComboBox1.Style = fmStyleDropDownCombo 'リストに無い値を入力できます。
'ComboBox1.ListFillRange = "" '参照リストのセル範囲を一時的に無効します。
Worksheets("Sheet1").ComboBox1.Clear 'リスト内容を初期化します。
With Worksheets("Sheet1").ComboBox1
.AddItem ("東京")
.AddItem ("青森")
.AddItem ("仙台")
End With
Worksheets("Sheet1").ComboBox1.ListIndex = -1 'コンボボックを入力されていない状態で表示させます。
End Sub
を入れて、
シート1のイベントプロシージュアーに
Private Sub ComboBox1_Change()
Range("D2") = ComboBox1.Value
End Sub
を入れておくと、コンボで選んだ値がD2にセットされます。
これらは選択肢はプログラムの中に定義されます。見る人が見ればどれかわかります。
===
一般論としては、ユーザーのプログラムで選択項目を設定していると思われます。
VBAの経験があればどれかわかるでしょうが、コードを見れる立場でないと
どれを使っているかの判別はむつかしいでしょう。
かって、システムを受託した先に頼むほかないのでは?

投稿日時 - 2018-11-01 22:00:10

補足

その場合、ファイル自体がマクロの拡張子のファイルになっているのでしょうか。

投稿日時 - 2018-11-01 23:04:27

お礼

ありがとうございます。
そのようなことがVBAで設定可能であるということが、分かり、またその可能性が十分あるということが分かり、大変参考になりました。

投稿日時 - 2018-11-01 23:04:31

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問