• ベストアンサー

行を挿入するマクロ(その2)

http://oshiete1.goo.ne.jp/qa2463805.htmlにて質問させていただき、一度はできたのですが、 別シートで再度行ったところ「実行時エラー'13' 型が一致しません」 というコメントが出て、デバックすると「For n = 1 To x」のところが黄色くなります。 これは何が原因なのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

前の回答者とは違う者ですが、マクロを見させていただきました。 B列に数値以外の文字、あるいは空白が入っている行があるか、それとも空行が表の最後に入っている可能性がありますね。 最後に空行が入ってるのならそれを削れば動作するかもしれませんが、削除しなくても動くようにするには、 For n = 1 To x の前に If IsNumeric(x) Then を、 Next n の後に End If を挿入してみると動作するかもしれません。

shabushabu
質問者

お礼

おっしゃる通りIFを入れたところ無事にできました。 困っていたところの早々の回答で本当に助かりました。 本当にありがとうございました。

その他の回答 (2)

  • driverII
  • ベストアンサー率27% (248/913)
回答No.2

x に数字以外のデータが入っているからです。 xが""の場合などに、ループを実行しないなどのようにすれば良いでしょう。

shabushabu
質問者

お礼

回答ありがとうございます。 XにはLOOKUPで持ってきている数字のみでした。 #3さんの回答で何とか解決することができました。 ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

B列に数値以外のものがはいってませんか?

shabushabu
質問者

お礼

前回に引き続き本当にありがとうございます。 数字以外は入っていませんでしたが、数字をLOOKUPで持ってきていたのが いけなかったのでしょうか? ひとまず#3さんのやり方で解決いたしました。 merlionXXさん、本当にありがとうございました。