- ベストアンサー
入力規則のリスト表示
Masa2072の回答
入力規則のリストボックスでは表示行数を変更することができません。 ご希望の結果を得るにはワークシートにリストボックスを貼り付けマクロで制御する方法があります。 Worksheet_SelectionCangeイベントで選択セルが指定のセル範囲内だった場合にリストボックスを表示する リストボックスのChangeイベントでセルにリストボックスの値を格納するという流れになります。 下のサンプルはB列を選択するとA列のリストがリストボックスで表示される、と言うものです。 [準備] Sheet1のA1からA30まで1から30の数字が連続で入力され コントロールツールボックスからリストボックスを貼り付け、オブジェクト名をMyList、ListFillRangeにA1:A30、VisibleをFalseに設定します。 ListRowsを20にするとリストの表示件数を20に変更できます。 VisualBasicEditorを起動、Sheet1を選択しコードの表示し下のコードを貼り付けます Dim LastSelect As Object '最後に選択されたセル Dim MacroFlg As Boolean 'リストボックスの値がマクロによって変更されたかを判定 Private Sub MyList_Change() If Me.MyList.Value <> "" Then LastSelect.Value = Me.MyList.Value End If If Not MacroFlg Then Me.MyList.Visible = False Else MacroFlg = True End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Me.MyList .Visible = False 'セル選択した場合はリストボックスを非表示 If Target.Rows.Count = 1 And Target.Columns.Count = 1 Then '単一セルの場合だけ処理 If Target.Column = Columns("B").Column Then '指定の列の場合だけ処理 Set LastSelect = Target '選択されたセルを記憶 If IsEmpty(Target.Value) Then MacroFlg = True 'リストボックスの値を変更するのでChangeイベントを抑制 .Value = "" Else MacroFlg = True 'リストボックスの値を変更するのでChangeイベントを抑制 On Error Resume Next .Value = Target.Value '選択されたセルの値をリストボックスに格納 If Err.Number <> 0 Then .Value = "" '何らかのエラーが発生したらリストボックスの値はNULL End If On Error GoTo 0 End If 'リストボックスの表示位置を変更 .Visible = True 'リストボックスの表示 .Top = Target.Top .Left = Target.Left .Width = Target.Width + 15 End If End If End With End Sub エラーはないと思いますが、お試しください。
関連するQ&A
- 入力規則-リスト選択で,リストの頭の行から表示させたいのに。
1シート目に入力規則-リスト選択したいセルがあり, 2シート目にあるデータから選択するため,名前-定義で「行」に名前をつけて,範囲設定した。 ↓ 入力規則設定では空白を無視にチェックしてみたのですが・・・ 1シート目でプルダウン?(▼)で選択しようとすると,窓には2シート目リストの入力のない行(空欄)がデフォルトとして表示されてしまいます。 ↓ リストの先頭行から表示されるようにするにはどうしたら良いでしょうか?そのような技がありましたら教えて下さい。 (「行」を範囲選択するのがマズイでしょうか?行が増えても1シート目の範囲を設定し直さなくて良いかな,と思って行を範囲設定してみました。) ちなみに,Offset関数(?)は全くわかりません。
- ベストアンサー
- オフィス系ソフト
- 入力規則 リスト 最後の行まで表示させる
エクセル2003です。 図のように入力規則のリストを最後の行まで表示させるにはどうすればいいですか? 現時点では8行目までしか表示されず、 プルダウンを動かすしかありません。
- ベストアンサー
- オフィス系ソフト
- 入力規則のリストを勝手に開くようにしたい
入力規則のリストのプルダウンを勝手に開くようにしたいです。 通常は、入力規則のリストが設定されているセルにカーソルを移動すると▼が表示され、▼をクリックするとプルダウンリストが表示されます。 これを、該当セルにカーソルを移動しただけでプルダウンリストが表示されるようにできないでしょうか。
- ベストアンサー
- Excel(エクセル)
- 入力規則で、リストに「○」と「」の2行を表示させた
エクセルの入力規則で、リストに「○」と「」の2行を表示させたいです。 二つ目は空白です。 ○, これも ○ これも、○しか表示されません。 ○,"" こうすると、2行目は””が表示されてしまいます。 ○,,○ こうしても、2行目は消えてしまい、リストには ○ ○ となってしまいます。 リストの一行目:○ リストの二行目: というように表示させるにはどうすればいいですか?
- ベストアンサー
- オフィス系ソフト
- エクセル入力規則で条件付きリスト
エクセル入力規則で条件付きリスト 添付画像1のB・C列に入力規則を使ってプルダウン選択させたいと思っています。 ただ、選択の仕方として、Bの派遣先を選択するとC列では指定した派遣先のスタッフのみのリストしか出てこないように設定することはできるのでしょうか? 1.入力規則の機能でできるか? 2.もしできないのであれば他の方法で良い方法があるか? 知っている方がいましたら教えてくださいm(__)m よろしくお願いいたしますm(__)m
- ベストアンサー
- オフィス系ソフト
- 【エクセル】入力規則のプルダウン▼ボタンを常に表示させたい
エクセル2003を利用しています。 記入フォームのために入力規則を使って、 リストによるプルダウン選択をセルに設定しました。 そのセルが選択されている時は、セルの右側に▼ボタンが表示され、 そのセルが、プルダウン選択であることが分かります。 しかし、選択されていないと消えてしまうため 記入フォームの際、ユーザーはそのセルに移動しないと 入力するデータが、自由に書き込めるのか、リスト選択なのかが分かりません。 プルダウンであることが分かるように表示したいと考えています。 現在は、仕方が無く 右隣のセルに注意書きとして”*リストから選択してください”などと書いています。 入力規則のプルダウン▼ボタンを常に表示させる方法がございましたら アドバイスお願いします。 同じようなケースの代替案などもお聞かせいただけると助かります。
- 締切済み
- オフィス系ソフト
- エクセルの入力規則プルダウン表示について
エクセル、入力規則でリストを登録したのですが、プルダウンの表示が、設定したセルの幅より広いのです。設定したセル幅と同じ幅にするにはどうしたらいいのでしょうか?最初に、幅の違う別の列に設定したのですが、その幅になってしまっているような気がします。。
- ベストアンサー
- オフィス系ソフト
- エクセルの入力規則のプルダウンのサイズ変更
エクセルの「入力規則」のプルダウンのサイズ変更。 入力規則のプルダウンの表示は、」通常8行の表示となりますが、日付を全て表示させる方法はありませんか?
- ベストアンサー
- その他MS Office製品
- EXCELの入力規則のリストについて。その2(IFで空白にしたセル)
EXCEL2000で入力規則のリストを設定しています。 IF(セル番号="","",VLOOKUP(…))を使用して表を作っています。 表は途中からIFによって空白行になっています。 この表全体をリストの「元の値」に設定しているのですが、プルダウンメニューに空白が延々と表示されてしまいます。 この空白を表示させない方法はあるでしょうか? どうかよろしくお願いします。 もう1つ「EXCELの入力規則のリストについて。その1」という質問もさせていただいています。 併せてよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
大変参考になりました、有難う御座いました。