| 
    
     |  | おはようございます。 ワークシート関数のMaxやMin関数って、
 実際にセルで試してみればわかりますが、元々数値以外は、対象外ですよね!!
 
 ですから、未入力は、未入力を返し それ以外は、Val関数を使って変換した値を返す
 
 という処理を
 
 Dim t(1 To 3) As Variant
 t(1) = IIf(TextBox1.Value = "", "", Val(TextBox1.Value)
 
 ↑ここで行っています。配列tに""も入れられるようにVariantで宣言しました。
 
 Iif関数は、便利ですが、知らないと無駄な処理時間を費やしてしまうので
 要注意です。以下の例
 
 Sub test()
 Dim a As Long
 Dim b As String
 a = 0
 b = IIf(a = 0, "0がはいっている", test1(a))
 MsgBox b
 End Sub
 '==================================
 Function test1(num As Long) As String
 Dim g0 As Long
 Dim g1 As Long
 Dim g2 As Long
 test1 = "何がはいっているかしらべていない"
 For g2 = 1 To 200
 g1 = 0
 For g0 = 1 To 500000
 g1 = g1 + 1
 Next
 Next
 End Function
 
 
 a=0 なのですから、
 
 "0がはいっている" と簡単に表示してくれればよいのに 結構時間がかかりますよね?
 
 上記は、極端な例ですが、こういうこともあるので 注意です。
 
 
 |  |