
お世話になっています。いつも助けてもらってありがとうございます。今,仕事関連で使う
ものを作っています。順調にすすんでいましたが,find でエラーがでます。
findを使った自作の関数を使っていますが,一つ一つ動作を確認しながら,積み上げてます。
そんななか,ある行(この行も今まで使っていた問題の無い行)を付け加えると,次のよう
なエラーがでるようにります。
実行時エラー’-2147417848’(80010108)
Findメソッドは失敗しました。:’Rangeオブジェクト’
このエラーがでると,VBAの実行を中止し,通常のエクセルに戻ると,セルを選択しても
アクティブセルの表示がされなくなります。こうなると,エクセルを再起動しないとなお
りません。
ネットで調べても,このエラーは該当しませんでした。このエラーの意味を教えていただけ
るとありがたいです。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
こんにちは
>find でエラーがでます
FIND文を含む1行を加えただけなのでしょうか?
(それだけでは、処理はほとんど変わらないと思いますが・・)
それとも「自作の関数」を追加している?
(両者には大きな違いがあります)
いずれにしろ、何をどうなさっているのかの情報もなく「エラーが出る」ことしかわからないので、何とも手掛かりがなさすぎる状態ですが・・・
もしも本当にFINDメソッドが原因なら、通常は「該当するセルが見つからない」時にエラーが発生します。
ただし、この場合は
実行時エラー’91’
になりますね。
一方で、ご提示の
実行時エラー’-2147417848’(80010108)
について検索してみると、いろいろと情報が見つかります。
きっかけとなる原因はいろいろのようですが、エクセルがハングアップするという事象も共通しているようです。
これらから推測すると、どうやら内部でメモリ不足になっているのが原因のようですが(←勝手な推測です)、質問者様の実行コードの構成で同様のことが起きていたりしませんか?
ありがちなのは
・イベント処理等でループしてしまっていてスタックを使っている
・再帰処理等で、メモリを解放せずに大量のデータを積み重ねている
・ループなどで上記同様の処理を行っている
などをチェックしてみるのが宜しそうに思います。
※ 情報が全くないため当たるも八卦の回答になっていますので、全くの見当違いかもしれませんけれど・・・
早速のアドバイスありがとうございます。
Findはサブで使っています,このサブでは,検索対象が
見つからないときは,”XFD1048576”(最終行列)を
返すように,自分なりのエラー処理はしてるかと思います。
このエラーの表示の出る前の操作で,スタックス関連のエラー
等もでましたので,
・イベント処理等でループしてしまっていてスタックを使っている
・再帰処理等で、メモリを解放せずに大量のデータを積み重ねている
等が原因かと納得しました。知らず知らずのうちに,ループ
を作ってるのかなと思います。
もう一度精査してみたいと思います。
ありがとうございます。
No.4
- 回答日時:
自作の関数って、もしかして、セル上の数式から呼び出してますか?
もしそうなら、諦めるしかなさそうですが・・・
https://support.microsoft.com/ja-jp/topic/excel- …
No.2
- 回答日時:
お答えしようと思いましたが、具体的な環境が書いてないので、これだけではなんとも回答ができません。
そこでchatGPTに聞いてみました。
VBAでわからないこと、どうやって組んだらいいかわからないことはchatGPTに聞くと答えてくれます(正解とは限りませんが)
以下はchatGPTの回答です。
エラーコード -2147417848 は通常、VBAの実行中にオブジェクトが予期せず破棄されたり、使用されないメモリ領域を参照しようとしたりする場合に発生します。Find メソッドに関連するエラーとなります。
エラーが発生する具体的なコードが提供されていないため、原因を特定するのは難しいですが、いくつかの一般的な原因と対処法を挙げてみます。以下の点を確認してみてください:
Find メソッドの使用: Find メソッドを使用している部分のコードを確認し、対象の Range オブジェクトが正しく設定されていることを確認してください。また、Find メソッドが何かしらの条件を満たす可能性があるか確認してください。
オブジェクトの設定と解放: オブジェクトの設定後、十分に使用し終わったら Set ステートメントを使用してオブジェクトを解放してください。オブジェクトが不要な場合は、可能な限り早く Set を使って解放しましょう。
vba
Copy code
Set myRange = Worksheets("Sheet1").Range("A1:B10")
' 何かしらの処理
Set myRange = Nothing ' オブジェクトを解放
エラーが発生する行の前後を確認: エラーが発生する行の前後に、新しく追加した行と関連する行があれば、その部分を確認してみてください。どうやらエラーが関連する行にあるようです。
デバッグツールを使用: コードの実行中にデバッグツールを使用して、どの行でエラーが発生しているのかを特定しましょう。Debug.Print ステートメントや MsgBox を挿入して変数の値を確認することができます。
vba
Copy code
Debug.Print "Here"
MsgBox "Check this point"
これらの対応策で問題が解決しない場合、追加の情報やコードの一部を提供いただければ、より具体的なサポートが可能です。
早速のアドバイス,並びにChatGTPの回答ありがとうございます。
VBAの実行中にオブジェクトが予期せず破棄されたり、使用されないメモリ領域を参照しようとしたりする場合に発生します。Find メソッドに関連するエラーとなります。
これあたりが,エラーになる原因かなと思います。全体を見直したり,自作のSUBを見直したりしてみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Rangeメソッドは失敗しました。globalオブジェクトについて 6 2021/11/21 21:54
- Visual Basic(VBA) Excel VBAでWordの複数ファイルを統合する場合のエラーについて教えてください 11 2021/12/29 12:11
- Visual Basic(VBA) ExcelVBAでのエラー回避 1 2022/02/02 17:39
- Chrome(クローム) Chrome で教えて! goo だけが時々エラーになる 5 2021/11/30 16:26
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- その他(Microsoft Office) 【Excel】エラー解消をお願いします…。 1 2021/12/21 17:51
- Visual Basic(VBA) Selenium のエラーがでます。 2 2021/12/03 12:56
- フリーソフト エクセルだけで宛名を印刷できるフリーソフトありませんか? 7 2021/12/06 11:53
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
このQ&Aを見た人はこんなQ&Aも見ています
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
スタッフと宿泊客が全員斜め上を行くホテルのレビュー
スタッフも宿泊客も、一流を通り越して全員斜め上なホテルのレビューにありがちな内容を教えて下さい
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
Excle VBA Findメソッドについて
Visual Basic(VBA)
-
VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー
Excel(エクセル)
-
Excel VBAマクロで実行時エラー'91'が出てしまいます。
Excel(エクセル)
-
-
4
VBA 見つからなかった時の処理
Excel(エクセル)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
findメソッドの変数について
Visual Basic(VBA)
-
7
実行時エラー -'-2147417848
Excel(エクセル)
-
8
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
9
VBAのFind関数で結合セルを検索するとヒットしない
Visual Basic(VBA)
-
10
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
11
【Find関数】あるのに見つからない。
Visual Basic(VBA)
-
12
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
13
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
14
Excel VBAにてソートが上手くいかない
その他(Microsoft Office)
-
15
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
16
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
17
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
18
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
VBAでEmpty値って何ですか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お助けください!VBAのファイル...
-
UserForm1.Showでエラーになり...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
VBA データ(特定値)のある最...
-
VBAでfunctionを利用しようとし...
-
【VB.NET】 パワポ操作を非表示で
-
String""から型'Double'への変...
-
オブジェクト型の変数にフォー...
-
「実行時エラー '3167' レコー...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
Excel vbaについての質問
-
エクセルVBAで埋め込みグラフ(C...
-
matlabでのエラー コールバッ...
-
VB6.0の組み込みマクロ
-
VB.NETでMessageBoxが表示され...
-
OpenOffice Basicで簡単な関数...
-
Filter関数を用いた結果、何も...
-
VBA Find でオートメーションエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
Excel vbaについての質問
-
On ErrorでエラーNoが0
-
String""から型'Double'への変...
-
実行時エラー 438 の解決策をお...
-
VBA データ(特定値)のある最...
-
【VB.NET】 パワポ操作を非表示で
-
ApplicationとWorksheetFunctio...
-
Filter関数を用いた結果、何も...
-
【VBAエラー】Nextに対するFor...
-
ACCESSで値を代入できないとは?
-
【Access】Excelインポート時に...
-
VBでSQL文のUPDATE構文を使った...
-
「実行時エラー '3167' レコー...
-
オブジェクト型の変数にフォー...
おすすめ情報