ここから本文です

エクセルで実行時エラー’13’型が一致しませんとでてしまいます。 原因がわからず...

pur********さん

2009/9/711:58:47

エクセルで実行時エラー’13’型が一致しませんとでてしまいます。
原因がわからずに対処ができません。

前回の内容です

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1430230659

上のリンク先にあるようにマクロを作成しました。
いろいろアドバイスをもらいましたが必ず計算の部分で実行時エラー13が出てしまいます
原因もわからず対処法を探してみてもなかなか見つかりません。
どなたかアドバイスをお願いします。

閲覧数:
47,561
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

rut********さん

2009/9/712:38:51

s1.Range("C" & Row).Value = s1.Range("C" & Row).Value - s1.Range("F" & Row).Value + s1.Range("G" & Row).Value
前にも回答しましたが、上記のコードに誤りはありません。

このコードでエラーが発生するということは、読み込むデータのほうに問題があるということです。
エラー13はデータの型式が一致しない場合に発生するエラーなので、前述のコードで言うと計算不可能なデータで計算を実行したため、エラーになっているはずです。
読み込むデータのサンプルが無いため詳細な指摘は出来ませんが、エラーでストップした状態で各セルの値を確認してください。
もしわからないようなら、エクセルファイルをメールしてくれてもいいですよ。

質問した人からのコメント

2009/9/8 15:10:02

降参 メールで返信していただきありがとうございました。
おかげで問題が解決してスッキリしました。
ちょっとしたことが原因だったとは・・・
これからも機会があればお願いします。

ベストアンサー以外の回答

1〜1件/1件中

yuu********さん

2009/9/715:05:35

前回の質問と同じ部分でエラーが出ているのかわかりませんが、エラーが出ている部分を以下のように書き換えてください。

A=B-Cを

A=Val(B)-Val(C)

のようにしてください。

「実行時エラー’13’型が一致しません」と出る場合は計算したいセルに数字以外の文字が入っています。
もし、パッと見ても全て数字なら、おそらく空白が入っているのでしょう。

とにかく計算部分(右側のイコールの後)をひとつひとつVal()で囲みます。式の左側のAの部分はそのままで構いません。(「ブイ、エー、イチ()」ではなく「ブイ、エー、エル()」ですので注意してください。)

..........................................................................
例)
前回の質問、

「kazan0429さん回答ありがとうございます。
アドバイスを元に試してみましたが、やはり計算の部分
s1.Range("C" & Row).Value = s1.Range("C" & Row).Value - s1.Range("F" & Row).Value + s1.Range("G" & Row).Value
にて実行時エラー’13’型が一致しませんとでてしまいます。 」


と同じ部分でエラーが出ている場合は、式の右側部分(イコールの後)をひとつひとつVal()で囲んで以下のようにしてください。

s1.Range("C" & Row).Value = Val(s1.Range("C" & Row).Value)- Val(s1.Range("F" & Row).Value) + Val(s1.Range("G" & Row).Value)


おそらくこれで直ると思いますがこれでもダメならお知らせください。

今後エラーを防ぐためにも、全ての計算部分の右側部分(イコールの後)をひとつひとつVal()で囲んでおいたほうがいいかもしれませんね。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる