- ベストアンサー
テキストボックスのデフォルト設定とコンボボックスの更新について
- ExcelのVBAを使用してユーザーフォームを作成しています。ユーザーフォームにはコンボボックスとテキストボックス、ボタンがあります。コンボボックスには13のリストがあり、初めに表示されるリストはAです。さらに、「次へ」ボタンと「戻る」ボタンを用意し、コンボボックスのリストの切り替え機能を実装しています。しかし、「次へ」ボタンを押した際に最後のリストを表示させる方法や、「戻る」ボタンを押した際に最初のリストを表示させる方法がわかりません。お知恵をお貸しください。
- ExcelのVBAを使ってユーザーフォームを作成しています。ユーザーフォームにはコンボボックスとテキストボックス、ボタンがあります。コンボボックスには13のリストがあり、初めに表示されるリストはAです。さらに、「次へ」ボタンと「戻る」ボタンを用意し、コンボボックスのリストの切り替え機能を実装しています。しかし、「次へ」ボタンを押した際に最後のリストを表示させる方法や、「戻る」ボタンを押した際に最初のリストを表示させる方法がわかりません。どなたかご教示いただけませんか?
- ExcelのVBAを使ってユーザーフォームを作成しています。フォーム内にはコンボボックスとテキストボックス、ボタンがあります。コンボボックスにはAからMまでの13のリストがあり、初めにはAが表示されています。また、「次へ」ボタンと「戻る」ボタンも用意しています。コンボボックスでAが選択された状態で「次へ」ボタンを押すとBが選ばれ、Dが選択された状態で「次へ」ボタンを押すとEが選ばれます。しかし、「戻る」ボタンを押した際にDが選ばれるようにする方法が分かりません。お知恵をお貸しください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答1、myRangeです。 >ちなみに、このVBAはどうやって覚えましたか? >あるいは、本などで調べられるものでしょうか。 ふつうComboBoxは質問のような使い方をしないので、 本にはそのものずばりというコードは載ってないでしょう。 VBAのヘルプをじっくり眺めて、プロパティ、メソッドなどの機能を いくつも試してみながらひとつひとつ理解していけば 時間は掛かるでしょうがどんなコードでも書けるようになります。 因みに、ひと月である程度のコードが書けるようになるには 以下のような手段で、日に4~5時間程度勉強をすればいいでしょう。 VBA専用サイト VBA専用Q&A VBAのヘルプ 参考書(入門編、応用編、各1~2冊) あとは、粘りと根性!! 以上です。
その他の回答 (1)
- myRange
- ベストアンサー率71% (339/472)
'-----リスト範囲は、Sheet1のA1~Aデータ最終行--------- Private Sub UserForm_Initialize() Dim LastRow As Long LastRow = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row With ComboBox1 .List = Sheets("Sheet1").Range("A1:A" & LastRow).Value .ListIndex = 0 '●最初の項目表示 End With End Sub '-------●次へ------------------------- Private Sub CommandButton1_Click() If ComboBox1.ListIndex = ComboBox1.ListCount - 1 Then ComboBox1.ListIndex = 0 Else ComboBox1.ListIndex = ComboBox1.ListIndex + 1 End If End Sub '------●前へ-------------------------- Private Sub CommandButton2_Click() If ComboBox1.ListIndex = 0 Then ComboBox1.ListIndex = ComboBox1.ListCount - 1 Else ComboBox1.ListIndex = ComboBox1.ListIndex - 1 End If End Sub '---------------------------------------------- 以上です。
お礼
無事にリストの更新が出来ました。 ありがとうございました。 ちなみに、このVBAはどうやって覚えましたか? あるいは、本などで調べられるものでしょうか。
お礼
VBAは、そう簡単にマスター出来るわけではないのですね。 コツコツと学習していきます。 ありがとうございました。