• ベストアンサー

リストをしようした際に 例)   1 赤   2 青   3 黄色 で1 赤を選択した場合 セルに1のみ転送することできますか? お願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

色々難しいこと考えなくても、(手っ取り早いのでエクセルVBAですがVBでも一緒でしょう)ListIndexを使えば良いでしょう。 (1)例としてA1~A4セルに1 山田太郎、2 大川次郎、3 会田五郎、4 木下勝男と入れる。VBならAddItem・・・。 (2)シートにListBoxを貼りつける。VBならUserForm1上。 (3)コントロール内で右クリック。プロパティをクリック。 (4)ListFillRangeに、A1:A4を入れる。VBならAddItem・・・。 (5)コントロール内でダブルクリック。 (6)Private Sub ListBox1_Click() End Subが出る。VBE画面。 (7)ActiveCell.Value=ListBox1.ListIndex+1 を入力する.VBならTextBoxなどを作りそこへ表示する。 (8)デザインモードを解除して (9)シート上で例えばB5をクリックし、リストボックスの大川次郎を クリックするとB5に「2」と入力される。VBならTextBoxなどへセットか。

その他の回答 (2)

  • LAMY
  • ベストアンサー率25% (249/985)
回答No.2

「リストをしよう」と書いていますが、どのような状態か不明確です。 例の内容で各セルに値が入っている(リストっぽく見せている)のでしょうか? 特定の機能(リストボックス、コンボボックス等)のリストを使用している? また「選択した場合」と書いてありますが、利用者はその行為により「選択する」 と「決定する」事が行えるので、皆、質問内容が理解できないのでしょう。 手厳しいですが回答するには質問者のレベル、質問内容により回答内容が変化 するので出来れば「補足」にて詳細を記述して下さい。 セルの値だけで表現しているなら特定ボタンとマクロを作成して、ボタン押下後 にアクティブセルの位置確認と、値を入力するマクロを作成すれば実現できます。 (常に無条件で、特定の値を別セルに移動させるなら#1ですね) 例の状態ならMid関数でも有効でしょう。   MID(対象,開始位置,文字数) ※文字数は大きい値で良い C2セルに「3 黄色」が入っている場合、値を挿入したいセルに以下の数式を 入れれば良いでしょう。   =MID(C2,3,999) リストボックス、コンボボックス等を使用しているなら、選択は選択しただけに なりますので、別ボタンを作成(決定ボタン)して決定する動作を促すべきです。 そのボタンに各リストのアクティブな値を持ってくるマクロを登録すれば良いと 思いますが如何でしょう?

  • daiju3000
  • ベストアンサー率29% (21/72)
回答No.1

おはようございます A1にリストがあったとします。 文字列からスペースの位置を検索して、左から"スペースの位置-1"番目まで表示します。式の""の中にはスペースが入っています。 =LEFT(A1,FIND(" ",A1)-1)

関連するQ&A