Excel VBA質問箱 IV

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

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


8731 / 13644 ツリー ←次へ | 前へ→

【31464】ユーザーフォームの設定 おおん 05/11/22(火) 8:59 質問[未読]
【31465】Re:ユーザーフォームの設定 Statis 05/11/22(火) 9:11 回答[未読]
【31467】Re:ユーザーフォームの設定 おおん 05/11/22(火) 11:55 質問[未読]
【31469】Re:ユーザーフォームの設定 Statis 05/11/22(火) 12:17 発言[未読]
【31473】Re:ユーザーフォームの設定 おおん 05/11/22(火) 13:15 質問[未読]
【31511】Re:ユーザーフォームの設定 Statis 05/11/24(木) 9:42 発言[未読]
【31515】Re:ユーザーフォームの設定 おおん 05/11/24(木) 11:32 お礼[未読]

【31464】ユーザーフォームの設定
質問  おおん  - 05/11/22(火) 8:59 -

引用なし
パスワード
   Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("sssss").Cells(4, 2).Value = ComboBox1.Text
End Sub

初心者なのですがいろいろ参考にさせていただき上記のマクロで
入力結果をセルに持っていけたのですが その後ユーザーフォームを
再び表示させるとユーザーフォームの内容がクリアされてしまうのですが
入力内容を保持したい場合はどうしたらよいでしょうか??

【31465】Re:ユーザーフォームの設定
回答  Statis  - 05/11/22(火) 9:11 -

引用なし
パスワード
   ▼おおん さん:こんにちは
>Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
> Sheets("sssss").Cells(4, 2).Value = ComboBox1.Text
>End Sub
>
>初心者なのですがいろいろ参考にさせていただき上記のマクロで
>入力結果をセルに持っていけたのですが その後ユーザーフォームを
>再び表示させるとユーザーフォームの内容がクリアされてしまうのですが
>入力内容を保持したい場合はどうしたらよいでしょうか??
多分、Unload ステートメントを使われていると思われますが?
Hide メソッドを調べてきてください。

Unload ステートメントを使いたいのならフォームを表示するとき
セルの値を取得してTextBoxにセットしてあげれば良いのでは。

【31467】Re:ユーザーフォームの設定
質問  おおん  - 05/11/22(火) 11:55 -

引用なし
パスワード
   >多分、Unload ステートメントを使われていると思われますが?
>Hide メソッドを調べてきてください。
>
>Unload ステートメントを使いたいのならフォームを表示するとき
>セルの値を取得してTextBoxにセットしてあげれば良いのでは。


早速ご指導いただきありがとうございます。

まだVBA覚えはじめなので
難しいことは何もしてないのでUnload ステートメントというのは
使ってないはずです。

できればユーザーフォーム内のコンボボックス&テキストボックス
のデータは保持した状態で、コマンドボタンを押すと別シートに移行させたいのですが
そういった設定やマクロはどのように出来るのでしょうか??
自分の書籍や検索では見つからなかったのですみませんが宜しくお願いします。

【31469】Re:ユーザーフォームの設定
発言  Statis  - 05/11/22(火) 12:17 -

引用なし
パスワード
   こんにちは
最初のコードだと値がクリアされる事は無いはずです。

再度、開くとはどう言う事ですか?

>できればユーザーフォーム内のコンボボックス&テキストボックス
>のデータは保持した状態で、コマンドボタンを押すと別シートに移行させたいのですが
>そういった設定やマクロはどのように出来るのでしょうか??
データを保持して別シートに移行してないをしたいのか具体的に記載して下さい。
あと、コマンドボタンの押しただけでは値は消えませんよ
作られたコードをUpしてみて下さい。

【31473】Re:ユーザーフォームの設定
質問  おおん  - 05/11/22(火) 13:15 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは
>最初のコードだと値がクリアされる事は無いはずです。
>
>再度、開くとはどう言う事ですか?
>
>>できればユーザーフォーム内のコンボボックス&テキストボックス
>>のデータは保持した状態で、コマンドボタンを押すと別シートに移行させたいのですが
>>そういった設定やマクロはどのように出来るのでしょうか??
>データを保持して別シートに移行してないをしたいのか具体的に記載して下さい。
>あと、コマンドボタンの押しただけでは値は消えませんよ
>作られたコードをUpしてみて下さい。


お世話になります。最初に記載したコードもしくは

Private Sub ComboBox10_Change()
Sheets("sssss").Cells(6, 2).Value = ComboBox10.Text
End Sub

上記のコードで
コンボボックスとテキストボックスデータを他のシートに移行する
ことまではできたのですが

Private Sub Worksheet_Activate()
UserForm1.Show
End Sub

シート内のコードに上記のような一般的なコードで
userform1が表示するようにしてあるのですが開いたときには
コマンドボタンやテキストボックスのデータが消えてしまっているのです・・・
(移行したシート内には残っていますが)

コンボボックスで再度選択又はテキストボックスで入力しないといけない状態です。
usesrformのデータは一度選択又は入力したらあまり変化させることはないのでフォームに残しておきたいと思っています。(移行したシート内には残っていますが)

コマンドボタンのコードはまだ作っていません。

具体的な目標ですが、userformにデータを入力して移行した別シートで入力データに定数を掛け算したりして計算書を作成したいと思っています。

お手数かけましてすみませんがまたご指導いただけると有り難いです。

【31511】Re:ユーザーフォームの設定
発言  Statis  - 05/11/24(木) 9:42 -

引用なし
パスワード
   こんにちは

>Sheets("sssss").Cells(6, 2).Value = ComboBox10.Text
記載のコードで、値を該当セルに入力していますよね。

>Private Sub Worksheet_Activate()
>UserForm1.Show
>End Sub

上記のコードはどこのシートをアクティブにしても「Show」しますが
最初にフォームをShowしてセルに入力後(処理後)、そのフォームはどのように
閉じているのですか?
このままだと、シート移動(手作業)でできませんよね。

【31515】Re:ユーザーフォームの設定
お礼  おおん  - 05/11/24(木) 11:32 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは
>
>>Sheets("sssss").Cells(6, 2).Value = ComboBox10.Text
>記載のコードで、値を該当セルに入力していますよね。
>
>>Private Sub Worksheet_Activate()
>>UserForm1.Show
>>End Sub
>
>上記のコードはどこのシートをアクティブにしても「Show」しますが
>最初にフォームをShowしてセルに入力後(処理後)、そのフォームはどのように
>閉じているのですか?
>このままだと、シート移動(手作業)でできませんよね。


こんにちは さっきまでuserformは×ボタンで閉じてました。
しかしコマンドボタンを作ってコードに
 userform hide にするとデータが残ってましたので
それでやってみます。
ありがとうございました。

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