|
▼八家九僧陀 さん:
スルーの件についてはもうアドバイスが出ていますので、こんな感じというのを
書いておきます。
on error resume next
なんかの処理
if err.number=「型が一致しません」エラーの番号 then
なんかの処理2
else
プロシージャを抜けるなどの処理
end if
on error goto 0
///////ここからはおせっかいと言われるかもしれませんけど、あえて///////
>プログラミングの王道(きっと他にも沢山あるのでしょうが)を勉強せぬまま、見よう見まね(参考書やこの質問箱を利用しながら)で給与ソフト、賞与ソフトを作り、数多くの"王道なし"の計算式VBAを作ってしまいました。
>やはりひとつひとつの計算式の関係VBAにご教示いただいたコードを書く以外は方法がありませんか?
コードを書くか、データチェック用の関数を作ってそれを使用するか、
それ以外にも具体的な方法は状況によって違ってくるでしょうが、
基本的に入力を伴うプログラムでは入力データチェックは必須です。
特に金額計算の絡むものについては入力ミスやデータの妥当性のチェック
は絶対に必要です。王道云々とかいうよりもっと前のバグに近い問題で
下手して誤差が発生すると信用を失います。
実際問題、1つの例を挙げるとデータ型を考えずに計算すると円単位で
誤差が発生する場合があります。もしそれが残業計算を含むものであるなら、
なおさら危険性が大きくなります。一円でも間違いは間違いです。
データチェックなしやエラー対策なしはホントに怖いです。桁間違い、
途中までしか計算せずに結果が出てしまうとか。。。。。
現在作成しているもの、作成中のものはもし間違っても責任の持てる
自分の範囲で使用し、他の人に配布するなどはしないことを強くお勧めします。
|
|