マクロ初心者です。
教えてください。
コンボボックスで、[▼]をクリックすると、
[りんご]、[いちご]、[みかん]のリストが表示されます。
しかし、もう一度、[▼]をクリックするとリストの数が増えています。
[りんご]、[いちご]、[みかん]、[りんご]、[いちご]、[みかん]、[りんご]、[いちご]、[みかん]
全くの初心者なので、どうすればいいかわかりません。
コンボボックスで、[▼]をクリックすると、
[りんご]、[いちご]、[みかん]のリストのみが常に表示されるようにしたいです。
下記がコードです。
----------------------------------------
Private Sub 種類_Combo_DropButtonClick()
'** データセット
種類_Combo.AddItem "りんご"
種類_Combo.AddItem "いちご"
種類_Combo.AddItem "みかん"
End Sub
----------------------------------------
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
そのコンボボックスは、VBAのフォームに置かれているのでしょうか?
それともシートに直接置かれているのでしょうか?
もしフォームに置いているのであれば、フォームの
Initializeイベントで、No.2の方のコードを書きます。
で、コンボボックスのDropButtonClickイベントは消します。
Initializeの時点ではClearはいらなくて質問者様のコードのままでもいいと思いますが、私なら書きますね。
Private Sub UserForm_Initialize()
'** データセット
種類_Combo.Clear '← この行を追加するだけ
種類_Combo.AddItem "りんご"
種類_Combo.AddItem "いちご"
種類_Combo.AddItem "みかん"
End Sub
シートに直接貼り付けた場合は・・・。
どのタイミングでやればいいんでしょうね。
WorkBookのOpenイベント?かな?その場合は分からないです。
Auto_Openかなぁ。うぅ~ん。
No.4
- 回答日時:
AddItemは今あるコンボの項目のリストの後に項目を追加する(Add)ものです。
だから、Clickイベントの中に入れると、クリックするごとに累積されていきます。
始まって以来1回かぎりしか実行されないルーチンの、今後の項目選択が始まるまでのルーチンに入れないとなりません。
UserForm_Initializeルーチンなどが良いでしょう。
No.2
- 回答日時:
こんな感じにしてみては?
---
Private Sub 種類_Combo_DropButtonClick()
'** データセット
種類_Combo.Clear '← この行を追加するだけ
種類_Combo.AddItem "りんご"
種類_Combo.AddItem "いちご"
種類_Combo.AddItem "みかん"
End Sub
No.1
- 回答日時:
「additem」というのは「追加しなさいよ~」という命令なので、
プログラムを日本語に置き換えて言いますと・・・
「種類」というコンボボックスを押したら、「種類」コンボボックスのリストに
「りんご」「いちご」「みかん」を追加しなさいよ~。ということです。
「Combo_DropButtonClick」という命令が良くないのかもしれませんので、
コマンドボタンを押したときにその命令を与えてやって、「Combo_DropButtonClick」
は削除してはいかがでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) VBAユーザーフォームの複数のコンボボックスについて。 1 2022/04/25 08:13
- Visual Basic(VBA) リストボックス セルの値を取得する 1 2022/05/21 20:47
- Visual Basic(VBA) VBA 連続する名前ごとに集計 3 2022/05/21 18:24
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) VBA ComboBoxについて 2 2022/10/21 12:15
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
Hideについて(.NET)
-
Form_Load と Form_Activate の...
-
エクセルVBA フォーム上でOnkey...
-
【VBAユーザーフォームで閉じる...
-
'ユーザーフォーム右上隅の[×...
-
ユーザーフォームのコピー?
-
MSGBOXのフォント大きさ変更
-
Excel VBAでユーザーフォームだ...
-
モーダルフォームとモードレス...
-
ユーザーフォーム上に現在日時...
-
コントロールの存在確認
-
C#で起動時のフォームを非表示...
-
VB.NETでフォームロード中のエ...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのテキストボ...
-
検索のユーザーフォームの表示...
-
VBE ユーザーフォーム重複・空...
-
エクセルVBAのフォームを最...
-
フォームの二重起動の阻止
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのテキストボ...
-
【VBAユーザーフォームで閉じる...
-
モーダルフォームとモードレス...
-
VBAでユーザーフォームを再表示...
-
エクセルVBAのフォームを最...
-
MSGBOXのフォント大きさ変更
-
Form_Load と Form_Activate の...
-
ユーザーフォーム上に現在日時...
-
Excelにて、ユーザーフォームで...
-
Hideについて(.NET)
-
フォームウィンドウを最前面に...
-
コントロールの存在確認
-
VBA(エクセル)のユーザー...
-
'ユーザーフォーム右上隅の[×...
-
エクセルVBA フォーム上でOnkey...
-
ブックをCloseまたはQuitで閉じ...
おすすめ情報