- ベストアンサー
exelのVBE設定
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
書き忘れました。 > 使用しているフォームはたuserform2なのですが、2は不要ですか? userform2を選択した状態でしたらコードを書く右側のウィンドウはuserform2専用の場所になりますので2は必要ありません。2を付けるとユーザー作成の単なるプロシージャになります。
その他の回答 (6)
- kkkkkm
- ベストアンサー率66% (1734/2604)
> インデックスが有効範囲にありません これはシートの指定が違う(シートが無いない)場合に出ますが、添付された画像では違うような感じではありませんね…。 どの行でエラーになっているかF8キーを押してステップ実行して確認してみてください。
- kkkkkm
- ベストアンサー率66% (1734/2604)
> 全くこの通りなのですが、空白のままです。 No4を目視で確認ではなくそのままコピペしてみてください。 もしくは Private Sub UserForm_Initialize() になっているか確認してください。
補足
ありがとうございます。 作成しているブックはネット環境がないので目視になります。(ウイルス防止の為隔離されてます) 使用しているフォームはたuserform2なのですが、2は不要ですか? 2を消すと、インデックスが有効範囲にありません。とエラーになります
- kkkkkm
- ベストアンサー率66% (1734/2604)
このコードで設定できますが、コンボボックスの名前は ComboBox撮影区分 ComboBox撮影部位 であっていますか? また、エラーが出る場合どこで(場所が選択状態になっていると思います)どのようなエラーなのか、また、メッセージのすべてを教えてください Private Sub UserForm_Initialize() Dim IRow As Long Dim IRowp As Long With Worksheets("区分") IRow = .Range("A" & Rows.Count).End(xlUp).Row End With With Worksheets("区分") IRowp = .Range("B" & Rows.Count).End(xlUp).Row End With With ComboBox撮影区分 .RowSource = "区分!A2:A" & IRow End With With ComboBox撮影部位 .RowSource = "区分!B2:B" & IRow End With End Sub
補足
ありがとうございます。 全くこの通りなのですが、空白のままです。 フォームがほかにもあり、他のシートもあるのですが何か指定が必要でしょうか?
- kkkkkm
- ベストアンサー率66% (1734/2604)
"区分!BA2:A" & IRowp は "区分!B2:B" & IRowp にしてください。
補足
ありがとうございます。 そこは書き間違いでしたが、修正しても空白のままです。 rowsourseプロパティーに直接入力すると表示されますが、区分を変更することを考えて、シートからリストを拾得したいです。
- m3_maki
- ベストアンサー率64% (296/460)
撮影部位のアドレスがおかしいのは置いといて、 Private Sub UserForm2_Initialize() ↓ Private Sub UserForm_Initialize()
補足
ありがとうございます。 2を消すとコンパイルエラーと表示されました。
- oboroxx
- ベストアンサー率40% (317/792)
A2:A4のセル範囲に「撮影区分」と名前を付け、B2:B5のセル範囲に「撮影部位」と名前を付けてください。 そして、コンボボックスのそれぞれのRowSourceプロパティに撮影区分と撮影部位と入力してみてください。
補足
後からデータ追加するかもしれないので、行をカウントして範囲を決めたいです。
お礼
貴重な時間、ありがとうございました。 また宜しくお願いします。