方法1 こんな方法ではいかがでしょうか?
希望する 「リスト」 を同一シート内に 作成 例 「C2〜C11」に「1〜
10」
表示(入力)させたい「セルの選択」
→「データー(D)」→「入力規則(L)」
→「ダーターの入力規則」→「設定」→「入力値の種類」→「リスト」を選択
→「元の値」←右隅をクリックすると→「デタ-の入力規則」
→リストとして表示させたい「セル」をドラッグ→ 例 「C2〜C11をドラッ
グ」
方法2
まー すでに 入力規則を使用する方法が 提示されていますが
コンボボックス?(ドロップダウン)
を貼り付けて マクロで値を取得する方法も 書いときましょうか
ドロップダウンを貼り付けて リスト範囲を設定して
マクロを登録します。
登録された マクロには 次のような マクロを書けば
値(内容)を取得できますね。。
Sub dd_test()
Dim SH As Worksheet
Dim dd As DropDown
Set SH = ActiveSheet
Set dd = SH.Shapes("dd1").DrawingObject
Range("A2") = dd.List(dd.Value)
'選択された内容をセルに書き出す
Set SH = Nothing
Set dd = Nothing
End Sub
方法2.5
え〜〜っと 前回の投稿では 時間がなかったので
書けなかったことを補足します。
まず プルダウンメニューと書かれているのですが。
ほんとに プルダウンしたいのか 元記事を読むと
迷います。。
> 「Alt」+「↓」のような方法ではなくて、
>
セルに入力する選択肢を3〜4個提示してそのなかから選択
> 出来るようになりませんか?
とかかれているので プルダウンするのではなくて
リストを 表示したままにするのかな? とか。。。
もしそうなら
ドロップダウンの変わりに リストをシートに貼り付けて
前回のマクロを DropDown から ListBoxに変えます。。
Sub dd_test()
Dim SH As Worksheet
Dim dd As ListBox ' <- ここを変える
Set SH = ActiveSheet
Set dd = SH.Shapes("dd1").DrawingObject
Range("A2") = dd.List(dd.Value) '選択された内容をセルに書き出す
Set SH = Nothing
Set dd = Nothing
End Sub
あと コンボボックスは シートでは使用できません。
これは Excelの仕様です。。
シートに貼り付けた オブジェクトから 新規マクロを登録
しようとすると Excel2000SR1は こけることが あります ご注意を。。。
|