|
▼りん@とおりすがり さん:
ありがとうございました。ちゃんと認識し動作しました。
あと、ボタンを押したらTextBox100も"---"になるのですが、入力したままの数値を残しておけないのでしょうか?それから、何も入っていないところまで"---"になりますが、数値、文字が入っていない箇所は空白にしておきたいのですが無理ですか?
--------------------------------------------------------------------
それから、今ユーザーフォーム用にも同じように作りたいのですが、りんさんのを見様見真似で変更したのですが、やはりダメでした(TT)。すごい無茶苦茶になってしまい恥ずかしいのですが、どこを手直しすればまともに動くのか、お教え頂けたらと思います。(多分、全部おかしいのだろうけど・・・)
※ユーザーフォーム用では仕様を変更してます。
MultiPage1にT10〜T34まで順番に貼ってあり、同じようにT12、17、22、27、32に数値、文字(空白もあり)が入り、それ以内であれば、T14、19、24、29、34に"○"、"×"、"---"、"空白"、を入れるという事ですが、MultiPage1〜4まであり同じような動作を各ページさせるにはどうしたらよいのでしょうか?
出来れば、下記はボタン11を押せば動作するようになってますが、T12、17、・・・に入力した時点で計算され、表示させるというのは無理でしょうか?
Private Sub CommandButton11_Click()
Dim II As Integer
Dim a1 As String, a2 As String
Dim ldt As Variant, hdt As Variant
'テキストボックスの文字列格納
'条件決定
If Trim(TextBox7.Value) & (TextBox8.Value) = "" Then
'T7,T8が空白だったら
'T4 + T5以下、T4 + T6以上
hdt = Val(TextBox4.Value) + Val(TextBox5.Value)
ldt = Val(TextBox4.Value) + Val(TextBox6.Value)
ElseIf Trim(TextBox6.Value) & (TextBox5.Value) = "" Then
'T6,T5が空白だったら
'T4 - T5以下、T4 - T6以上
hdt = Val(TextBox4.Value) - Val(TextBox7.Value)
ldt = Val(TextBox4.Value) - Val(TextBox8.Value)
Else
'上記以外は通常
'T4 + T6以下、T4 - T7以上
hdt = Val(TextBox4.Value) + Val(TextBox6.Value)
ldt = Val(TextBox4.Value) - Val(TextBox7.Value)
End If
'
With Application
For II = 1 To 20
a1 = TextBox12.Value
.Val(a1 & II * 5 - 2).Value
'分岐
If a1 = "" Then
a2 = "---" '何も入ってなかった
ElseIf IsNumeric(a1) Then
If Val(a1) >= ldt And Val(a1) <= hdt Then
a2 = "○"
Else
a2 = "×"
End If
Else
a2 = "---" '数値じゃなかった
End If
'結果
.Val("TextBox14" & II * 5).Value = a2
Next
End With
'終了
End Sub
|
|