
お世話になっています。いつも助けてもらってありがとうございます。今,仕事関連で使う
ものを作っています。順調にすすんでいましたが,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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
VBAのFind関数で結合セルを検索するとヒットしない
Visual Basic(VBA)
-
findメソッドの変数について
Visual Basic(VBA)
-
-
4
Excle VBA Findメソッドについて
Visual Basic(VBA)
-
5
Excel VBAマクロで実行時エラー'91'が出てしまいます。
Excel(エクセル)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
8
VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー
Excel(エクセル)
-
9
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
10
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
11
EXCEL VBAのコンボボックスに取り込むリストについて
Excel(エクセル)
-
12
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
13
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
14
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
15
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
16
Excelの入力規則で2列表示したい
Excel(エクセル)
-
17
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
18
VBA 存在しないシートを選択した時にエラーメッセージを表示するには?
Visual Basic(VBA)
-
19
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
20
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
【VBA】ワークブックを開く時に...
-
ACCESSで値を代入できないとは?
-
VBA データ(特定値)のある最...
-
【Access】Excelインポート時に...
-
VBAでfunctionを利用しようとし...
-
実行時エラー 438 の解決策をお...
-
レコード登録時に「演算子があ...
-
VBA エクセル で FIND でのエラ...
-
excel vba のエラー原因が分か...
-
グラフを表示するとき「’~’メソ...
-
教えてください。FTPアップロー...
-
【VBAエラー】Nextに対するFor...
-
pythonのopenpyxlについて
-
VB.net 重複チェックがしたいです
-
VBSでADO接続に失敗した場合に...
-
ISAMドライバー
-
実行時エラー 3035 メモリ不...
-
インポート時のエラー「データ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報