ここから本文です

VBAに関する質問です。

yos********さん

2013/5/522:57:18

VBAに関する質問です。

ある行に差し掛かると”実行時エラー1004”(アプリケーション定義またはオブジェクト定義のエラーです)と出てしまいました。
しかし、いくら見直しても、どこもおかしいところがなく、
そこの行だけ、取り出し、1つのプログラムで走らせるとうまく回ってくれます。
(With worksheet("~")

end with
などで間違ったかと思いましたが、それは、ほかの行のものがうまく言ってるため、絶対にないと思います。)

そこで、そこの行だけ別のプログラムとして作成し、本体のプログラムでは、callでそのプログラムを走らせればうまくいくかと思い、
そのようにしてみたのですが、同じように、実行時エラー1004ですとのコメントが出ます。

このような、どこもおかしくないはずなのに実行時エラー1004でてしまった経験がある方はいらっしゃいますか?
もしこのような経験をしていらっしゃり、解決方法をご存知でしたら是非ご教示ください。

よろしくお願い致します。

閲覧数:
10,741
回答数:
4
お礼:
500枚

違反報告

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

por********さん

2013/5/709:14:28

こんにちは。
エラーの発生する近所に、Rangeをselectするようなコードはありますか?
そのときに、ありえないブックありえないシートのタイミングでselectしようとすると、1004のエラーが発生しやすいです。
それから、エラーの発生するコードがシートモジュールと標準モジュールの違いです。

同じコードでも、標準モジュールだとエラーにならないのに、シートのコードだとエラーが発生します。
シートを超えた処理には、スコープの限界が仕様として存在します。


withのコードは、本物のコードではないようなので、細かいことは、そちらで確認してください。
正しかったらWorksheetsになっています。End Withになるはずですしね。

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

2013/5/8 19:30:36

原因はわかりませんが、
Worksheets("~").select
with activesheet

end with
と記述することで問題は解決されました。
求めていた回答ではありませんが、一般的な回答を一番望んでいたので、そのような回答形式をしてくださったporihikoletskunさんをベストアンサーにさせていただきました。ほかの方も回答してくださりありがとうございました。

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

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

kan********さん

編集あり2013/5/613:01:53

日々エラーと戦う者です
基本的に自分を疑った方が良いかと…
善くも悪くも、書いた通りにしか動きませんし

オブジェクトが無いということは、指定した場所が無いということなんで、スペルが違うとか、指示が足りて無いとかいう事ですかね?


問題の部分を書き出して頂けたら幸いですが。

あとworkseets(゙゙)
sがいる気がします
コレクションとかにはつけないといけないんじゃなかったかな?
ちとうろ覚えです

編集あり2013/5/600:45:55

プログラムのコーディングによっては、エラー発生行と、実際のエラー箇所は異なる場合が有ります。
(アプリケーション定義またはオブジェクト定義のエラーです)と表示されているのなら、定義しないでオブジェクトなどを使用していないか確認して下さい。

ja7awuさん の回答にも書いてありますが、ブレイクポイントを設定してステップ実行でエラー箇所を探ってみてはどうでしょうか?
デバッグの基本です。

↓デバッグの方法(ブレイクポイントのセットとステップ実行)
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard41.htm
http://koikide.net/hensyu.html
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html
http://www.excel-excel.com/vbachair/step1-7.html
http://www.ken3.org/vba/debug.html

イミディエイトウィンドウ、ウォッチ式なども利用してデバッグします。

ja7********さん

編集あり2013/5/608:53:54

これ↓では解決に繋がる状況説明が、全く出来ていません。

> いくら見直しても、どこもおかしいところがなく
> ほかの行のものがうまく言ってるため、絶対にない
> どこもおかしくないはずなのに実行時エラー1004

初歩的なエラー内容ですし、「何処もおかしくない筈」と決め付けないで
今までの質問でもデバッグ手法を習得出来ていませんのでステップ動作
させるなどで再度 確認してみてください。 「筈」はハズレますよ。

あとは、そのコードを提示してみてください。

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

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

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

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

閉じる

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

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

閉じる