No.1ベストアンサー
- 回答日時:
Sheet1にコンボボックスを1つ貼り付ける。
そのプロパtィのListFillRangeをたとえばI1:I3にし、I1に1、I2に2、I3に3を入れる。
Combobox1をダブルクリックして出てくるところの
Combobox1のchangeイベントに
Private Sub ComboBox1_Change()
Range(Cells(1, 1), Cells(3, 1)) = ""
If ComboBox1.Value = 1 Then Cells(1, 1) = "A"
If ComboBox1.Value = 2 Then Cells(2, 1) = "B"
If ComboBox1.Value = 3 Then Cells(3, 1) = "C"
End Sub
デザインモードを脱する。
これでコンボボックスの値を選ぶと
A1kaA2かA3に値をセットし、今までの他の選択値は消える。
Case文で分けても良いと思う。
No.2
- 回答日時:
こんにちは。
私の方法は、ちょっとむつかしいかもしれませんね。慣れていれば簡単なことですが、ネットでは、そのような説明は出てきませんね。
ComboBox の値は、元々配列構造になっていますから、配列にして、Listで渡してしまえばよいです。その配列を作る方法をどうするか、ということになってしまいますね。
ワークシートから起こして、ListFillRange で、ComboBox に渡してももよいかとは思います。ただ、ListFillRangeに書き込むなら、私の"NewComboValue"とThisWorkbookのOpenプロシージャは不要です。
私個人は、ComboBoxは、なるべくワークシートからのデータをインポートしません。万が一に失ったり改編されたりすることがあるからです。
'--------------------------------------
'<シートモジュールモジュール>
Sub NewComboValues()
'ListFillRangeに入れる場合は不要
Dim myList(2, 1) As Variant
ComboBox1.Clear
myList(0, 0) = 1: myList(0, 1) = "A"
myList(1, 0) = 2: myList(1, 1) = "B"
myList(2, 0) = 3: myList(2, 1) = "C"
ComboBox1.List = myList
End Sub
Private Sub ComboBox1_Click()
'クリックで入力
With ComboBox1
Range("A" & .List(.ListIndex, 0)).Value = .List(.ListIndex, 1)
End With
End Sub
'--------------------------------------
'<ThisWorkbook>
'ListFillRangeに入れる場合は不要
Private Sub Workbook_Open()
'Sheet1モジュールにある場合
Call Sheet1.NewComboValues
End Sub
この回答へのお礼
お礼日時:2005/10/11 00:01
初心者なもので手間取りましたが、なんとかうまくいきました。
ワークシートからインポートすることしか頭になかったので、参考になりました。
丁寧に回答していただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列数式の解除
-
VBA 1次元配列を2次元に追加する
-
【MATLAB】任意の多次元配列か...
-
VBAで近似曲線の係数取得
-
subの配列引数をoptionalで使う...
-
特定のセル範囲で4文字以上入力...
-
配列に同じ値を入れる方法
-
VBAで配列をまるごとコピー
-
2次元動的配列の第一引数のみを...
-
AES暗号にて、AES_set_encrypt_...
-
CGIでカスタム配列でソート
-
for each の現在の配列ポインタ...
-
エクセルで最小値から0を除く方法
-
配列数式って何ですか??
-
fortran 渡す値について
-
OutlookVBAでサブフォルダ一括作成
-
[Excel2000_VBA] 型が一致しま...
-
Excel-VBAの配列「Public Const...
-
テキストボックスの表示
-
2つ以上の変数を比較して最大数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列数式の解除
-
2つ以上の変数を比較して最大数...
-
VBA 1次元配列を2次元に追加する
-
VB6 配列を初期化したい
-
特定のセル範囲で4文字以上入力...
-
ListViewで、非表示列って作れ...
-
《エクセル2000》A列・B列の商...
-
配列変数の添字が範囲外ですと...
-
Excel-VBAの配列「Public Const...
-
subの配列引数をoptionalで使う...
-
for each の現在の配列ポインタ...
-
配列を任意の数値で埋める方法
-
Dim は何の略ですか?
-
VBのFunctionで、配列を引数...
-
配列内の内容を全て表示する方法
-
2次元動的配列の第一引数のみを...
-
Excel VBA配列をFunctionに渡す
-
VBA Match関数の限界
-
Array配列の末尾に追加したい。
-
AES暗号にて、AES_set_encrypt_...
おすすめ情報