お世話になっています。いつも助けてもらってありがとうございます。今,仕事関連で使う
ものを作っています。順調にすすんでいましたが,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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルの関数でわからないことあるのでコード付きで教えてください
Excel(エクセル)
-
COUNTIFで同一範囲にある複数の内容の数量を簡単に抽出する方法を教えてください。
Excel(エクセル)
-
Googleシート「A1」でなくて「A001」にしたいのですが
Excel(エクセル)
-
-
4
0.001ずつずらしたいのですが実際の値は 1.552のところは1.5519999999 のようにな
Excel(エクセル)
-
5
VBA(えくせる)ってなんでメンテできない人が多いんですか?
Excel(エクセル)
-
6
Excel 書式のクリア・値貼付けをしても書式が変わらない
Excel(エクセル)
-
7
エクセルのハイパーリンクで質問です。
Excel(エクセル)
-
8
エクセルで⑤番の操作が分かりません。どういう関数が良いんですか?
Excel(エクセル)
-
9
エクセルの行を巾を変えずに増やす方法
Excel(エクセル)
-
10
マクロを実行するとエクセルが小さく表示される
Excel(エクセル)
-
11
エクセルのcountifのワイルドカードについて
Excel(エクセル)
-
12
数値から名前が作成できなくなっているッ!?
Excel(エクセル)
-
13
エクセルで質問です。添付したように枠を設定する方法を教えて下さい
Excel(エクセル)
-
14
Excelの共有ファイルについて質問です。
Excel(エクセル)
-
15
Excelのシート背景に不明な文字が表示されています。何故?
Excel(エクセル)
-
16
エクセルの表の参照値から円を取って数字で扱えるようにしたい
Excel(エクセル)
-
17
同じ型【ハイフンと数字】だけ抜き出す関数について
Excel(エクセル)
-
18
IF関数
Excel(エクセル)
-
19
なぜか「Nextに対応するForがありません」
Excel(エクセル)
-
20
他人が作ったマクロの理解
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String""から型'Double'への変...
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
マクロで"#N/A"のエラー行を削...
-
実行時エラー 438 の解決策をお...
-
文字列内で括弧を使うには
-
On ErrorでエラーNoが0
-
エクセル関数を教えてください
-
お助けください!VBAのファイル...
-
Filter関数を用いた結果、何も...
-
エクセル関数式=ABSで#VALUE!...
-
error C2664: 'LPCTSTR' に変換...
-
実行時エラー'-2147467259(8000...
-
「実行時エラー '3167' レコー...
-
ASPでこんなエラーが出たんです...
-
日付書式のString型からData型...
-
実行時エラー´5854´ 文字列型パ...
-
VBA データ(特定値)のある最...
-
ACCESSで値を代入できないとは?
-
IBM Notes9のメールをExcelVBA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報