[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォーム』(k)
ユーザーフォームでデーター記入をしています
Private Sub CommandButton1_Click()
'アンケート番号数 Const mxMaker As Long = 150 Const mxReason As Long = 13 Const mxAge As Long = 20 '=========================== Dim i As Long Dim k As Long Dim j As Long Dim h As Long Dim myRow As Long Dim erMsg As String Dim erTxt As Long Dim w As Variant Dim d As Variant 'TextBox1のチェック k = Val(TextBox1.Value) Select Case k Case 1 To mxMaker 'メーカNo に対するアンケート番号 myRow = k + 4 Case Else erMsg = "メーカNo は1 から " & mxMaker & " の数値で入力してください" erTxt = 1 End Select 'TextBox2のチェック If Not IsNumeric(TextBox2.Value) Then erMsg = "数量は数字で入力してください" erTxt = 2 End If i = Val(TextBox2.Value) 'TextBox3のチェック If TextBox3.Value = "" Then erMsg = "来店動機を入力してください" Else w = Split(TextBox3.Value, ",") For Each d In w If Not IsNumeric(d) Then erMsg = "来店動機は数字で入力してください" erTxt = 3 Else Select Case d Case 1 To mxReason '来店動機に対するアンケート番号 Case Else erMsg = "来店動機は1 から " & mxReason & " の数値で入力してください" erTxt = 3 End Select End If If erTxt = 3 Then Exit For Next End If 'TestBox4のチェック h = Val(TextBox4.Value) Select Case h Case 1 To mxAge Case Else erMsg = "年齢は 15から " & mxAge & " の数値で入力してください" erTxt = 4 End Select If erTxt > 0 Then MsgBox erMsg With Me.Controls("TextBox" & erTxt) .SelStart = 0 .SelLength = .TextLength .SetFocus Exit Sub End With End If With Sheets("Sheet1") .Cells(k + 4, 5).Value = .Cells(k + 4, 5).Value + i For Each d In w .Cells(k + 4, d + 8).Value = .Cells(k + 4, d + 8).Value + 1 ' Next .Cells(k + 4, h + 8).Value = .Cells(k + 4, h + 8).Value + 1 End With TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = "" TextBox4.Value = "" TextBox1.SetFocus End Sub
TextBox4の入力もTextBox3の様に複数入力できる様にコードを書き直したいのですが
宜しくお願いします
< 使用 Excel:unknown、使用 OS:MacOSX >
erTxt 1か所、未セットのところがあったので追加。(9/13 18:29)
>TextBox4の入力もTextBox3の様に複数入力できる様にコードを書き直したいのですが
TextBox3 でやっているように "," でSplitをして、それをチェックすればいいと思いますが? とうぜん、それら複数の値をシートに書きこむ必要がありますが、どこに、どう書きこみたいのかの説明がありませんので そこは別途の手当てが必要ですが。
Dim w4 As Variant といったものを追加したうえで、
'TestBox4のチェック If TextBox4.Value = "" Then erMsg = "年齢を入力してください" erTxt = 4 Else w4 = Split(TextBox4.Value, ",") For Each d In w4 If Not IsNumeric(d) Then erMsg = "年齢は数字で入力してください" erTxt = 4 Exit For Else Select Case d Case 1 To mxAge Case Else erMsg = "年齢は 15から " & mxAge & " の数値で入力してください" erTxt = 4 Exit For End Select End If Next End If
(β) 2015/09/13(日) 08:33
思う結果が出ました
ありがとうございました。
(k) 2015/09/14(月) 05:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.