Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7070 / 13644 ツリー ←次へ | 前へ→

【41360】シート上にあるコンボボックスの設定方法 初心者です。 06/8/7(月) 14:32 質問[未読]
【41362】Re:シート上にあるコンボボックスの設定方法 初心者です。 06/8/7(月) 14:34 質問[未読]
【41365】Re:シート上にあるコンボボックスの設定方法 inoue 06/8/7(月) 18:20 発言[未読]
【41370】Re:シート上にあるコンボボックスの設定方法 初心者です。 06/8/7(月) 20:49 質問[未読]
【41373】Re:シート上にあるコンボボックスの設定... 漂流民 06/8/7(月) 23:45 発言[未読]
【41383】Re:シート上にあるコンボボックスの設定... 初心者です。 06/8/8(火) 11:28 お礼[未読]
【41374】Re:シート上にあるコンボボックスの設定方法 ponpon 06/8/7(月) 23:46 発言[未読]
【41384】Re:シート上にあるコンボボックスの設定方法 初心者です。 06/8/8(火) 11:29 お礼[未読]

【41360】シート上にあるコンボボックスの設定方法
質問  初心者です。  - 06/8/7(月) 14:32 -

引用なし
パスワード
   いつもお世話になっております。
コンボボックスは初めて使うので、どのように
設定したらいいのか途方にくれています。
調べてみましたが、ユーザフォーム上の質問
が多く、どこに記述していいのかも分かりません
ので、質問することをお許しください。

フォーム上ではなくシート上にコンボボックス
を配置し、5つのリストから選択をしてもらい
たいと思っています。
各リストを選択すると、それぞれ5種類の
計算を実行するようにイベントを設定します。

まず、作成したのが以下のコードです。

Private Sub ComboBox1_Change()
Dim i As String
  ComboBox1.AddItem "テスト1"
  ComboBox1.AddItem "テスト2"
  ComboBox1.AddItem "テスト3"
  ComboBox1.AddItem "テスト4"
  ComboBox1.AddItem "テスト5"
End Sub

↑上のコードを実行すると、リストにはテスト1〜
テスト2まで表示されるようになりましたが、複数
クリックを繰り返すとその数毎にどんどんリストが
増えてしまいます。

※ 実現したいこと

1.上記のように増やさずリストを5つのまま固定したい
 のです。

2.リストから一つ選択すると下方にあるセル(例えばD5)
 の計算式を変えたい。
 ・テスト1なら テスト1の値×0.05
 ・テスト2なら テスト1の値×0.07
  など
2.の場合は、オプションボタンのように、***_Clickとすれば
 良いのでしょうか?

【41362】Re:シート上にあるコンボボックスの設定...
質問  初心者です。  - 06/8/7(月) 14:34 -

引用なし
パスワード
   初心者です。

すみません、訂正です。

>↑上のコードを実行すると、リストにはテスト1〜
>テスト2まで表示されるようになりましたが、



上のコードを実行すると、リストにはテスト1〜
テスト5まで表示されるようになりましたが、

でした。
失礼しました。

【41365】Re:シート上にあるコンボボックスの設定...
発言  inoue E-MAILWEB  - 06/8/7(月) 18:20 -

引用なし
パスワード
   >※ 実現したいこと
>1.上記のように増やさずリストを5つのまま固定したい
> のです。
リストの内容に変動がないなら、
ThisWorkbookのWorkbook_Openイベントなどでセットするように
変更してみてはいかがでしょう。

>2.リストから一つ選択すると下方にあるセル(例えばD5)
> の計算式を変えたい。
> ・テスト1なら テスト1の値×0.05
> ・テスト2なら テスト1の値×0.07
これこそComboBox1_Changeに記述するものだと思います。

【41370】Re:シート上にあるコンボボックスの設定...
質問  初心者です。  - 06/8/7(月) 20:49 -

引用なし
パスワード
   ▼inoue さん:

アドバイスありがとうございます。

ご教示のように、以下のようにコードを
書きましたが、「オブジェクトが見つかりません。」
と表示されてしまいました。

どのようにしたら良いのでしょうか?

Private Sub Workbook_Open()
With ComboBox1
      .AddItem "テスト1"
      .AddItem "テスト2"
      .AddItem "テスト3"
      .AddItem "テスト4"
      .AddItem "テスト5"
     
   End With


End Sub

>>※ 実現したいこと
>>1.上記のように増やさずリストを5つのまま固定したい
>> のです。
>リストの内容に変動がないなら、
>ThisWorkbookのWorkbook_Openイベントなどでセットするように
>変更してみてはいかがでしょう。
>
>>2.リストから一つ選択すると下方にあるセル(例えばD5)
>> の計算式を変えたい。
>> ・テスト1なら テスト1の値×0.05
>> ・テスト2なら テスト1の値×0.07
>これこそComboBox1_Changeに記述するものだと思います。

【41373】Re:シート上にあるコンボボックスの設定...
発言  漂流民  - 06/8/7(月) 23:45 -

引用なし
パスワード
   ▼初心者です。 さん:
こんばんわ

コンボボックスがあるシートと、開いた時に表示されるシートが違うのでは?

>▼inoue さん:
>
>アドバイスありがとうございます。
>
>ご教示のように、以下のようにコードを
>書きましたが、「オブジェクトが見つかりません。」
>と表示されてしまいました。
>
>どのようにしたら良いのでしょうか?
>
>Private Sub Workbook_Open()
>With ComboBox1
With Worksheets("Sheet1").ComboBox1
>      .AddItem "テスト1"
>      .AddItem "テスト2"
>      .AddItem "テスト3"
>      .AddItem "テスト4"
>      .AddItem "テスト5"
>     
>   End With
>
>
>End Sub
>
>>>※ 実現したいこと
>>>1.上記のように増やさずリストを5つのまま固定したい
>>> のです。
>>リストの内容に変動がないなら、
>>ThisWorkbookのWorkbook_Openイベントなどでセットするように
>>変更してみてはいかがでしょう。
>>
>>>2.リストから一つ選択すると下方にあるセル(例えばD5)
>>> の計算式を変えたい。
>>> ・テスト1なら テスト1の値×0.05
>>> ・テスト2なら テスト1の値×0.07
>>これこそComboBox1_Changeに記述するものだと思います。

【41374】Re:シート上にあるコンボボックスの設定...
発言  ponpon  - 06/8/7(月) 23:46 -

引用なし
パスワード
   ▼初心者です。 さん:
こんばんは。
サンプルですが、こんな感じでしょうか?

ThisWorkbookモジュールに
Private Sub Workbook_Open()
 Sheets("sheet1").ComboBox1.List = _
    Array("テスト1", "テスト2", "テスト3", "テスト4", "テスト5")
End Sub

シートモジュールに
Private Sub ComboBox1_Change()
   Select Case ComboBox1.ListIndex
    Case 0
     Range("A1").Value = "あ"
    Case 1
     Range("A2").Value = "い"
    Case 2
     Range("A3").Value = "う"
    Case 3
     Range("A4").Value = "え"
    Case 4
     Range("A5").Value = "お"
   End Select
End Sub


↓これだとシートの指定がありませんよ。

>Private Sub Workbook_Open()
>With ComboBox1
>      .AddItem "テスト1"
>      .AddItem "テスト2"
>      .AddItem "テスト3"
>      .AddItem "テスト4"
>      .AddItem "テスト5"
>     
>   End With
>
>
>End Sub
>

【41383】Re:シート上にあるコンボボックスの設定...
お礼  初心者です。  - 06/8/8(火) 11:28 -

引用なし
パスワード
   ▼漂流民 さん:
ありがとうございました。
仰るとおりでした。

今後とも宜しくお願い致します。

【41384】Re:シート上にあるコンボボックスの設定...
お礼  初心者です。  - 06/8/8(火) 11:29 -

引用なし
パスワード
   ▼ponpon さん:
サンプルコードまで作っていただき、感激です。
本当に有難うございました。
大変勉強になりました。

7070 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free