Gizport
1 回答
0
Share (facebook)
64
view
全般

エクセルのコンボボックスのリストの中から、ある条件に適合したソースだ...

エクセルのコンボボックスのリストの中から、ある条件に適合したソースだけ抽出する事は可能でしょうか?
コンボボックスの連携は使用したくないのです。 参照するsheet1("リスト")に次のようなデータがあります。

A1:東京都 B1:新宿区
A2:東京都 B2:渋谷区
A3:東京都 B3:品川区
A4:埼玉県 B4:大宮市
A5:埼玉県 B5:朝霞市
A6:千葉県 B6:千葉市

A100:宮崎県 B100:都城市

コンボボックスのRowSource プロパティに「リスト!B1:B100」を指定します。
ちなみに、A列とB列は一体性を持っているのですが、データは変動します。
A6:静岡県 B6:沼津市 に置き換えられるとします。
(コンボボックスの連携が非常に使いにくい理由です。)

このような状況において、仮にsheet2("登録")のB列(.Column = 2)に
Worksheet_BeforeDoubleClickイベントで、コンボボックスを表示させるとします。

A列(.Column = 1)の1行(A1)に「東京都」を入力し、B1をダブルクリックした際に、
新宿区と渋谷区と品川区だけコンボボックスに表示される方法があれば是非ご教授頂ければと思います。

全都道府県49列のテーブルを作成し、都道府県コンボボックスと市町村コンボボックスを連携させるという方法をとらずに、
都道府県1列と一体性をもつ市町村1列の相関関係の中で、抽出する方法を模索しております。

何卒、お力の程をよろしくお願い申し上げます。
Yahoo!知恵袋 5045日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
コンボボックスではなく入力規則のリストでやってみました。シートモジュールとして記述

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then Exit Sub
If Target.Offset(, -1).Value = "" Then Exit Sub
Dim 表, 元の値 As String
表 = Sheet3!A1:B100 '実際の表範囲に合わせる
For i = 1 To UBound(表)
If Target.Offset(, -1).Value = 表(i, 1) Then
元の値 = 元の値 & 表(i, 2) & ","
End If
Next
If 元の値 = "" Then Exit Sub
Target.ClearContents
With Target.Validation
.Delete
.Add Type:=xlValidateList, Formula1:=元の値
End With
End Sub
Yahoo!知恵袋
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
62
Views
質問者が納得Alt+↓で、その列に入力してある項目を選択できますよ。 前提は、すでに○、×、△が列Aに入力済みであることです。 王道は、入力規則を使うがいいのでしょうけど、お手軽なのはこちらですね。 入力規則を使うと、新しい項目を追加するのが少し面倒なので、 ☆Altキーとカーソルキーの下を同時押しです。
4480日前view62
全般
78
Views
質問者が納得A100とかB200は1つのセルに入力しているのでしょうか。 足し合わせることを考えると、別のセルに入力しましょう。 Sheet1に元データ 1行目 A列1月・C列2月・・・ 2行目以降 A列記号・B列数値・C列記号・D列数値・・・ Sheet2で集計 B1に1月・C1に2月・・・ A2:A6にA・B・C・D・E B2セルに次式を入れて、縦横にコピーします。 =IF(COUNTIF(OFFSET(Sheet1!$A$2,,MATCH(B$1,Sheet1!$A$1:$X$1,0)-1,4),$A2),...
4482日前view78
全般
49
Views
質問者が納得作業列を利用すれば一般機能で十分可能です。 付図参照 B1=MID(A1,2,FIND(".",A1)-2) フィルハンドルをダブルクリック この列をキーに昇順ソートします。
4485日前view49
全般
61
Views
質問者が納得式を作る過程にて, テストをしやすくするため表記をかんたんにしてます ex. タイトル, 年月->エクセル標準のシリアル値, アイテム名 etc ◇表は画像の位置に置きましたので、実用には適宜、式のセル位置を変えて下さい ID,A6: =IF(ROW(A1)>COUNT($D$1:$H$1)*COUNTA($A$2:$A$3),"",OFFSET(A$2,ROUNDUP(ROW(A1)/COUNT($D$1:$H$1),0)-1,)) と入力し、↑A6の式を C6 ま...
4485日前view61
全般
43
Views
質問者が納得セルO1に「大根」、セルO2に「4月」と指定するとして、 P1=SUMIF(A2:A100,O1,OFFSET(A1,1,MATCH(O2,A1:E1)-1,100)) 上記でいかがでしょう? 1行目の4月、5月・・・とセルO2の「4月」は全角半角の間違いを防ぐために数字だけを入力するようにして、表示形式で「○月」とするのがいいと思います。
4499日前view43

取扱説明書・マニュアル

800view
http://fujifilm.jp/.../ff_a100_mn_j101.pdf
116 ページ5.56 MB
もっと見る

関連製品のQ&A