Excel VBA質問箱 IV

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

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


66637 / 76734 ←次へ | 前へ→

【14660】Re:ユーザーフォームのテキストボックスにつ...
発言  ichinose  - 04/6/3(木) 22:39 -

引用なし
パスワード
   ▼NAO さん:
こんばんは。
例題として、ユーザーフォーム(Userform1)に
テキストボックスを3つ貼り付けて下さい

Textbox1 TEL用

Textbox2 Address用

Textbox3 Date用

として・・・。

当該フォームモジュールに
'===================================================================
Private Sub TextBox1_Change()
'TEL用 半角数値のみ入力可能とする
  With TextBox1
   retcode = 1
   If IsNumeric(.Text) = True Then
     If StrConv(.Text, vbNarrow) = .Text Then
      retcode = 0
      End If
     End If
   If retcode <> 0 Then
     If Len(.Text) > 0 Then .Text = Left(.Text, Len(.Text) - 1)
     End If
   End With
End Sub
'=====================================================================
Private Sub TextBox2_Change()
'Address用 全角のみ入力可能
  With TextBox2
   retcode = 1
   If StrConv(.Text, vbWide) = .Text Then
     retcode = 0
     End If
   If retcode <> 0 Then
     If Len(.Text) > 0 Then .Text = Left(.Text, Len(.Text) - 1)
     End If
   End With
End Sub
'=====================================================================
Private Sub TextBox3_Change()
'Date用 半角数値のみ入力可能
  With TextBox3
   retcode = 1
   If IsNumeric(.Text) = True Then
     If StrConv(.Text, vbNarrow) = .Text Then
      retcode = 0
      End If
     End If
   If retcode <> 0 Then
     If Len(.Text) > 0 Then .Text = Left(.Text, Len(.Text) - 1)
     End If
   End With
End Sub
'==========================================================================
Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Date用 文字列長が8で日付変換可能な場合セルにセット
  If KeyCode = 13 Then
   With TextBox3
     If Len(.Text) = 8 And IsDate(Format$(.Text, "0000""/""00""/""00")) Then
      Worksheets("sheet1").Cells(5, 1).Value = Format$(.Text, "0000""/""00""/""00")
      Worksheets("sheet1").Cells(5, 1).NumberFormatLocal = "ggge""年""m""月""d""日"""
     Else
      MsgBox "日付指定誤り"
      KeyCode = 0
      End If
     End With
   End If
End Sub

最後のTextbox3_KeyDownイベントは、Exitイベントでもいいかもしれません。
(コードがちょっとだけ違ってくるけど)

試してみて下さい。

0 hits

【14653】ユーザーフォームのテキストボックスにつ... NAO 04/6/3(木) 21:38 質問
【14657】Re:ユーザーフォームのテキストボックスに... [名前なし] 04/6/3(木) 22:04 回答
【14658】Re:ユーザーフォームのテキストボックスに... ちゃっぴ 04/6/3(木) 22:13 回答
【14659】Re:ユーザーフォームのテキストボックスに... あわびが旬 04/6/3(木) 22:23 回答
【14666】Re:ユーザーフォームのテキストボックスに... NAO 04/6/4(金) 0:00 お礼
【14665】Re:ユーザーフォームのテキストボックスに... NAO 04/6/3(木) 23:58 お礼
【14664】Re:ユーザーフォームのテキストボックスに... NAO 04/6/3(木) 23:52 お礼
【14660】Re:ユーザーフォームのテキストボックスに... ichinose 04/6/3(木) 22:39 発言
【14661】Re:ユーザーフォームのテキストボックスに... ichinose 04/6/3(木) 22:59 発言
【14667】Re:ユーザーフォームのテキストボックスに... NAO 04/6/4(金) 0:08 お礼
【14668】Re:ユーザーフォームのテキストボックスに... NAO 04/6/4(金) 0:41 質問
【14670】Re:ユーザーフォームのテキストボックスに... かみちゃん 04/6/4(金) 7:07 回答
【14671】Re:ユーザーフォームのテキストボックスに... NAO 04/6/4(金) 7:27 お礼

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