Excel VBA質問箱 IV

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

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


19974 / 76737 ←次へ | 前へ→

【62188】Re:フォームのテキストボックス(Excel)
発言  ma  - 09/6/28(日) 21:10 -

引用なし
パスワード
   横から失礼いたします。

ponponpon さん、りんさんの回答を見てみましょう。

UFには、イベントがあります。
クリック・ダブルクリック・値の変更(Change)などあります。

Call Displayで、Public Sub Display()が、呼び出されるとき

TextBox4.Value = Worksheets(1).Cells(i, 6).Value  で、

TextBox4.Value の値が変更されています。

そのとき、Private Sub TextBox4_Changeが呼び出されているかと思いますが・・・。

UFの、Private Sub UserForm_Initialize の中にカーソルを置き「F8」を押していくと1行づつでディバッグしていくので分かりやすいかと思います。


▼ponponpon さん:
>ExcelVBAを勉強し始めたばかりの者です。
>ビデオ教材で勉強しておりますがわからないところがありましたので
>教えていただきたく投稿いたします。
>
>フォームをつくり、いくつかのテキストボックスが入っています。
>1つのテキストボックスがおかしな動きをします。
>文字入力をし、漢字に変換し、確定のためEnterキーを押すと、
>上のテキストボックスに入力した文字がすべて消えてしまいます。
>プロパティのLockedはfalse、
>Enabledはtrueで設定されていますので
>入力は出来るはずなのですがそれも出来ず
>他のテキストボックスの入力まで消えてしまうのが
>よくわかりません。
>そのようなことが起こる設定はあるのでしょうか。
>Enterキーを押したときの動作を設定するプロパティでもあるのでしょうか。
>
>
>コードは以下のとおりです。
>Option Explicit
>Private i As Long
>
>Private Sub CommandButton1_Click()
>
>Worksheets(1).Cells(i, 1).Value = TextBox1.Value
>Worksheets(1).Cells(i, 2).Value = TextBox2.Value
>Worksheets(1).Cells(i, 3).Value = ComboBox1.Value
>Worksheets(1).Cells(i, 5).Value = TextBox3.Value
>Worksheets(1).Cells(i, 6).Value = TextBox4.Value
>
>End Sub
>
>'次へ移動
>Private Sub CommandButton2_Click()
>
>i = i + 1
>Call Display
>
>End Sub
>
>'前へ移動
>Private Sub CommandButton3_Click()
>If i = 2 Then
>MsgBox "前に戻れません"
>End If
>i = i - 1
>Call Display
>
>End Sub
>
>Private Sub TextBox4_Change()
>
>Call Display
>
>End Sub
>
>'フォームの初期設定
>Private Sub UserForm_Initialize()
>
>i = 2
>
>Call Display
>
>ComboBox1.AddItem "経理課"
>ComboBox1.AddItem "人事課"
>ComboBox1.AddItem "営業1課"
>ComboBox1.AddItem "営業2課"
>
>
>End Sub
>
>'データ表示
>
>Public Sub Display()
>TextBox1.Value = Worksheets(1).Cells(i, 1).Value
>TextBox2.Value = Worksheets(1).Cells(i, 2).Value
>ComboBox1.Value = Worksheets(1).Cells(i, 3).Value
>TextBox3.Value = Worksheets(1).Cells(i, 5).Value
>TextBox4.Value = Worksheets(1).Cells(i, 6).Value
>End Sub
>
>excel表のそれぞれの列のタイトルは
>1列目タイトル 社員コード
>2列目タイトル 氏名
>3列目タイトル 所属部署
>4列目タイトル 性別
>5列目タイトル 電話番号
>6列目タイトル 住所
>
>です。
>
>2列目からデータが入っています。
>
>なお、もしコードは正確に入力できていて、へんなところを
>間違えていじっていなければ
>見ていたビデオではこれで問題なく動いているようでした。
>
>また、住所の欄をいじらなければすべて問題なく動くようです。
>
>よろしくお願いいたします。

0 hits

【62183】フォームのテキストボックス(Excel) ponponpon 09/6/28(日) 17:21 質問
【62184】Re:フォームのテキストボックス(Excel) りん 09/6/28(日) 17:27 発言
【62185】Re:フォームのテキストボックス(Excel) ponponpon 09/6/28(日) 18:19 発言
【62188】Re:フォームのテキストボックス(Excel) ma 09/6/28(日) 21:10 発言
【62193】Re:フォームのテキストボックス(Excel) ponponpon 09/6/28(日) 22:55 お礼

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