Excel VBA質問箱 IV

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

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


8465 / 13646 ツリー ←次へ | 前へ→

【33131】ユーザーフォーム1と2 06/1/3(火) 14:26 質問[未読]
【33134】Re:ユーザーフォーム1と2 かみちゃん 06/1/3(火) 15:12 発言[未読]
【33135】Re:ユーザーフォーム1と2 06/1/3(火) 15:21 回答[未読]
【33136】Re:ユーザーフォーム1と2 かみちゃん 06/1/3(火) 15:29 発言[未読]
【33149】Re:ユーザーフォーム1と2 06/1/3(火) 18:18 質問[未読]
【33152】Re:ユーザーフォーム1と2 06/1/3(火) 18:20 質問[未読]
【33154】Re:ユーザーフォーム1と2 かみちゃん 06/1/3(火) 18:33 発言[未読]
【33168】Re:ユーザーフォーム1と2 [名前なし] 06/1/4(水) 12:18 質問[未読]

【33131】ユーザーフォーム1と2
質問    - 06/1/3(火) 14:26 -

引用なし
パスワード
   ユーザーフォーム1と2があって、1にコマンドボタンをつくり、クリックするとユーザーフォーム2が現れる設定をしたのですが、うまく処理が出来ません。
データシートに
 A,b,C,D,E,F,G列
1
2
3
4
5
ユーザーフォームはコンボボックスがあり
Label1.Caption = Range("データシート!A1").Offset(ComboBox1.ListIndex).Value
と言うかんじで、A列のものをラベルに移していきます。
その時に、コマンドボタンを押すと、ユーザーフォーム2が現れ、
コンボボックスの選んだ行のE、F、G列のものが現れるようにしたいのですが、
ユーザーフォーム2を開いたままで、ユーザーフォーム1のコンボボックスの
リストを選択するとエラーが出てしまいます。
どうしたらよいでしょうか?

【33134】Re:ユーザーフォーム1と2
発言  かみちゃん E-MAIL  - 06/1/3(火) 15:12 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Label1.Caption = Range("データシート!A1").Offset(ComboBox1.ListIndex).Value
>と言うかんじで、A列のものをラベルに移していきます。
>その時に、コマンドボタンを押すと、ユーザーフォーム2が現れ、
>コンボボックスの選んだ行のE、F、G列のものが現れるようにしたい

ComboBoxの内容は、どのように設定していますか?
Label1.Caption等への反映のさせ方も見直しされたほうがよろしいかと思います。

【33135】Re:ユーザーフォーム1と2
回答    - 06/1/3(火) 15:21 -

引用なし
パスワード
   ROWSOURCE =番号とし番号は、名前にてデータシートの番号列を登録しています。

【33136】Re:ユーザーフォーム1と2
発言  かみちゃん E-MAIL  - 06/1/3(火) 15:29 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>RowSource =番号

データシートの番号列ということですが、この番号は、1番ごと続き番号でいいですか?
卵さんの使い方では、「続き番号であること」が制約条件になるのですが・・・

なお、〜.Offset(UserForm1.ComboBox1.ListIndex).Value〜
としてはいかがでしょうか?

【33149】Re:ユーザーフォーム1と2
質問    - 06/1/3(火) 18:18 -

引用なし
パスワード
   かみちゃんさん
ありがとうございます。
エラーは出なくなりました。
Private Sub ComboBox1_Change()
Label1.Caption = Range("データシート!A8").Offset(UserForm1.ComboBox1.ListIndex).Value
End Sub
Private Sub CommandButton2_Click()
UserForm2.Show
End Sub

Private Sub ComboBox2_Change()
Label13.Caption = Range("データシート!N8").Offset
(UserForm2.ComboBox1.ListIndex).Value
End Sub
と言うようにしてみたのですが、コンパイルエラーやオブジェクトなしの
エラーは出なくなったのですが、今度は、ユーザーフォーム2のラベルに
写るはずの内容が写りません。
理想としては、ユーザーフォーム1のコンボボックスをチェンジしたときに
その値に対する内容がユーザーフォーム2に写ってくれるとありがたいですが。
どうしたらよいですか?

【33152】Re:ユーザーフォーム1と2
質問    - 06/1/3(火) 18:20 -

引用なし
パスワード
   かみちゃんさん
ありがとうございます。
エラーは出なくなりました。
Private Sub ComboBox1_Change()
Label1.Caption = Range("データシート!A8").Offset(UserForm1.ComboBox1.ListIndex).Value
End Sub
Private Sub CommandButton2_Click()
UserForm2.Show
End Sub

Private Sub ComboBox2_Change()
Label13.Caption = Range("データシート!N8").Offset
(UserForm2.ComboBox2.ListIndex).Value
End Sub
と言うようにしてみたのですが、コンパイルエラーやオブジェクトなしの
エラーは出なくなったのですが、今度は、ユーザーフォーム2のラベルに
写るはずの内容が写りません。
理想としては、ユーザーフォーム1のコンボボックスをチェンジしたときに
その値に対する内容がユーザーフォーム2に写ってくれるとありがたいですが。
どうしたらよいですか

【33154】Re:ユーザーフォーム1と2
発言  かみちゃん  - 06/1/3(火) 18:33 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>理想としては、ユーザーフォーム1のコンボボックスをチェンジしたときに
>その値に対する内容がユーザーフォーム2に写ってくれる

各コントロールが、UserForm1、UserForm2のどちらにあるのかよくわからいのですが、
Label3.Caption = 〜 の前に、UserForm1.Label3.Caption = 〜 のように
UserForm名を明示してあげればいいと思います。
なお、
UserForm1.Label3.Caption = 〜
DoEvents
としてフォームの表示を更新させたほうがいいかもしれません。

[#33152]とは、二重投稿ですか?

【33168】Re:ユーザーフォーム1と2
質問  [名前なし]  - 06/1/4(水) 12:18 -

引用なし
パスワード
   ▼コントロール(コマンドボタン、コンボボックス)は、ユーザーフォーム1にあり、コマンドボタンを押すとユーザーフォーム2が現れますが、ラベルはすべて、データシートの項目を参照しています。コンボボックスにデータNo.が入っており、
ラベル順に、A,B,C,列を参照する事になっています。
ユーザーフォーム1ではA,B,を、ユーザーフォーム2ではC,D列をコンボボックスをチェンジした時に写したいのです。そして、ユーザーフォーム2は、コンボイボックスで参照したいNo.を選び、ユーザーフォーム1に参照項目が映った後、コマンドボタンをクリックすると、コンボボックスで選んだNo.に対してのC列D列のセル内容が映るようなものを作りたいのですが。

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