Excel VBA質問箱 IV

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

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


10594 / 13644 ツリー ←次へ | 前へ→

【20937】数値かどうか判断した上で lapin 04/12/26(日) 17:21 質問[未読]
【20938】Re:数値かどうか判断した上で ちゃっぴ 04/12/26(日) 19:00 回答[未読]
【20947】Re:数値かどうか判断した上で lapin 04/12/27(月) 15:38 お礼[未読]

【20937】数値かどうか判断した上で
質問  lapin  - 04/12/26(日) 17:21 -

引用なし
パスワード
   二日前から始めた初心者です。
指定したセル範囲の中で、配列の各要素が数値かどうか判定したうえで
平均値を算出する関数を作ろうとしているのですが、
平均値を算出するところまではとりあえずつくれたのですが、
数値かどうか判定する方法がわかりません。 IsNumericを使うのは
なんとかわかったのですが、どのように使うのかがわからないのです…。
Function heikin(B)
n = B.Count
t = 0
For i = 1 to n
   t = t + B(i)
Next
heikin = t / n
これで平均はだすことはできましたが、どのようにすればいいのでしょうか。
是非アドバイスお願いします。

【20938】Re:数値かどうか判断した上で
回答  ちゃっぴ  - 04/12/26(日) 19:00 -

引用なし
パスワード
   とりあえず、型宣言はきちんと行いましょう。

例) Dim t As Double
  Function heikin(B As Range) '???

Moduleの一番最初にOption Explicitをつけると効果的です。

ErrorにならないようIsNumericを使いたいのはわかりますが、
Error後の制御はどうするんですか?

とりあえず、数値かどうか条件分岐させるには

If IsNumeric(B.Item(i).Value) Then '数値の場合

で出来ますが・・・

【20947】Re:数値かどうか判断した上で
お礼  lapin  - 04/12/27(月) 15:38 -

引用なし
パスワード
   助言ありがとうございます。何もわからず堕文を書き込んでしまいもうしわけありませんでした。もう少し勉強して、何が問題なのかくらいわかってから質問するようにしたいと思います。

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