Excel VBA質問箱 IV

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

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


8569 / 76732 ←次へ | 前へ→

【73733】Re:ユーザーフォームで最小値と最大値を取得して計算
発言  ichinose  - 13/2/7(木) 6:07 -

引用なし
パスワード
   おはようございます。
ワークシート関数の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がはいっている" と簡単に表示してくれればよいのに 結構時間がかかりますよね?

上記は、極端な例ですが、こういうこともあるので 注意です。
349 hits

【73706】ユーザーフォームで最小値と最大値を取得して計算 kamo 13/2/5(火) 22:42 質問
【73707】Re:ユーザーフォームで最小値と最大値を取... kanabun 13/2/5(火) 23:11 発言
【73709】Re:ユーザーフォームで最小値と最大値を取... ウッシ 13/2/5(火) 23:20 回答
【73731】Re:ユーザーフォームで最小値と最大値を取... kamo 13/2/7(木) 0:18 お礼
【73730】Re:ユーザーフォームで最小値と最大値を取... kamo 13/2/6(水) 23:55 お礼
【73708】Re:ユーザーフォームで最小値と最大値を取... ichinose 13/2/5(火) 23:18 発言
【73732】Re:ユーザーフォームで最小値と最大値を取... kamo 13/2/7(木) 0:29 お礼
【73733】Re:ユーザーフォームで最小値と最大値を取... ichinose 13/2/7(木) 6:07 発言
【73743】Re:ユーザーフォームで最小値と最大値を取... kamo 13/2/8(金) 0:22 お礼

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