- 締切済み
ご教授願います。
エクセルのVBAを多少勉強致しましたが、行き詰っていますのでどなたかご教授願います。 エクセルにコマンドボタンを二つ作成 最初のコマンドボタンをクリックするとコンボボックスが現れます。 コンボボックスには1~4があります。 1はシート1""あいう""のシート 2はシート1""かきく""のシート 3はシート1""さしす""のシート 4はシート1""たちつ""のシート を指定するようになっています。 ここでとりあえず自分の希望のしーとになるように1~4の数字を選びます。 次にもうひとつのコマンドボタンを選択するとテキストボックスが現れます。 記入し、テキストボックスと同userformにあらかじめ作っていたコマンドボタンをクリックすると先ほど選択した1~4にテキストボックスを転送するようにしたいのです。 hideを使って先ほど表示させたコンボボックスのuserformを隠して、テキストボックスのuserformを閉じる際に指定したシートをにとさせようとしましたが、 そのテキストボックスのuserformが何個かあるのでどうすればいいのかわかりません。 どなたかご教授願えませんでしょうか? よろしくお願い致します。 なお、私の説明不足で内容がよくわからなかったら一報ください。 申し訳ありませんが、どうぞよろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
回答No.4
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
回答No.3
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
回答No.2
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
回答No.1
補足
返答ありがとうございます。 そうしますとコードはこのようになるのですか? [標準モジュール] Public SelectedSheet As String (これは読んで字のごとく、単に標準モジュールに書けばいいのですね。シートにコードを書くのではないのですね? 無知な質問で申し訳ありません。) [ UserFormのコンボボックスイベント ] Private Sub ComboBox1_Change() SelectedSheet = ComboBox1.Text End Sub [userform(テキストボックス)の完了のコマンドボタン] Select Case a Case 1 m_row = .Range("a" & Rows.Count).End(xlUp).Row + 1 .Range("c" & m_row).Value = UserForm2.TextBox1.Value Case 2 m_row = .Range("a" & Rows.Count).End(xlUp).Row + 1 .Range("c" & m_row).Value = UserForm2.TextBox1.Value Case 3 m_row = .Range("a" & Rows.Count).End(xlUp).Row + 1 .Range("c" & m_row).Value = UserForm2.TextBox1.Value Case 4 m_row = .Range("a" & Rows.Count).End(xlUp).Row + 1 .Range("c" & m_row).Value = UserForm2.TextBox1.Value Case Else End Select End With こうなるのですか? すみません。言い忘れていましたが、 最初にコンボボックスでリストよりシートを選定。 その後複数あるコマンドボタンより、テキストボックスに記入とする流れなのです。 こういった類のuserformが多々あり、このようにするとファイルがすごく重くなりそうな予感がしそうなのです。 しかし、この方法がベストならばこれでいこうと思います。 わがままばかりで大変申し訳rありませんが、どうかお力添えをお願い致します。