プロが教える店舗&オフィスのセキュリティ対策術

エクセル VBA コンボボックスの項目入荷についてですが
入力フォームを開いたときに
Private Sub UserForm_Activate()
ComboBox1.AddItem ("本社")
ComboBox1.AddItem ("東京支社")
ComboBox1.AddItem ("大阪支社")
End sub
のようにコンボボックスに項目をだすことはわかったのですが、
フォームをを開いたときにワークシートを全てを自動で
項目に表示する方法はありますでしょうか?
宜しくお願いいたします。

A 回答 (3件)

ワークシート名の一覧ということでしょうか?


特定のシートの内容を全てということでしょうか?
    • good
    • 0
この回答へのお礼

質問があいまいな内容ですみません。
適切な内容の質問ができるようがんばります。

お礼日時:2008/07/18 15:03

ご質問の意味が何とおりかに取れますが、全シート名を追加したい


というのであれば以下のコードをお試し下さい。

Private Sub UserForm_Activate()
ComboBox1.Clear
Dim shIdx As Integer
For shIdx = 1 To ActiveWorkbook.Sheets.Count
ComboBox1.AddItem ActiveWorkbook.Sheets(shIdx).Name, shIdx - 1
Next
ComboBox1.ListIndex = 0
End Sub
    • good
    • 0
この回答へのお礼

説明が不十分ですみません。
上記のコードでやろうとしていたことが出来ました。
スキルの問題もありますが次回よりもう少し
適切な内容の質問方法ができるようがんばります。

お礼日時:2008/07/18 15:02

>ワークシートを全てを自動で


(1)これを素直に読むと、ある1つ(と思うが)のシートの
Range(A!:X100)などのセル範囲(これだってシートの1部だが)を
コンボボックスに表示すると、受け取れる。
コンボの行数列数制限内では可能です。
しかし普通はこんなことはしないでしょう。
しかし複数セル(2,3列、数百行以内か。独断で)の情報をアイテムに加えることは、プログラムで繰り返しを使うから数行で可能です。
(2)既出回答のシート名のことなら、質問が致命的に不備です。早く補足で訂正のこと。
ーーー
もっと全体的に何をしたいか書いて、質問したほうが良い。
コンボの利用という点さえ、別にこれを使わない方法があるかもしれない。
ーー
質問者の力量は不明だが、過去質問の例で、自分が最近習得した機能に飛びついて、初心者はそれを使って、何でもやろうとする傾向が見られる。機能には使う場面で、適不適があるものが多い。
その時点では、それしか出来ないから仕方ないのだが。
折角数万の読者に読んでもらう良い機会なのだから、スマートな・適当なやり方は無いか聞くのが得策と思う。
    • good
    • 0
この回答へのお礼

質問内容の不備にてお手数をかけてすみません。
既出回答のシート名のことです。
質問方法にも色々ありますのでセンスよく出来るように
がんばります。

お礼日時:2008/07/18 15:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!