Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

VBA

VBAで「実行時エラー ‘429’:ActiveXコンポーネントはオブジェクトを生成できません」が出た時の対処記録

投稿日:2021年9月22日 更新日:

 

<目次>

(1) VBAで「実行時エラー ‘429’:ActiveXコンポーネントはオブジェクトを生成できません」が出た時の対処記録
 (1-1) 発生状況・エラーメッセージ
 (1-2) 原因
 (1-3) 対処①:ThisWorkbookではなくActiveWorkbookに変更&きちんと変数定義
 (1-4) 対処②:ライブラリ設定の確認

(1) VBAで「実行時エラー ‘429’:ActiveXコンポーネントはオブジェクトを生成できません」が出た時の対処記録

(1-1) 発生状況・エラーメッセージ

今まで問題なく動作していたExcelで突如、下記のエラーが発生しました。
 
(エラーメッセージ)
実行時エラー ‘429’:
ActiveXコンポーネントはオブジェクトを生成できません。
 
(図111)
 
具体的には、次のような「ThisWorkbook」でブックのオブジェクトにアクセスした際に発生しました。
WorkSheetCount = ThisWorkbook.Worksheets.Count

(1-2) 原因

原因はハッキリとは分からず・・。「ThisWorkbook」で何かしら問題が発生している、という所までしか分かりませんでした。
 
また、元々は正常に動作していた所から、突然に上記のエラーが出るようになるまでの間にあった疑わしい出来事として、OneDrive上に登録⇒ダウンロードした等が直接原因として考えられます(※推測です)。
 

(1-3) 対処①:ThisWorkbookではなくActiveWorkbookに変更&きちんと変数定義

今回の解決策でした。
 
「ThisWorkbook」と記載した箇所を以下のポイントを変更する事で、事象が改善しました。
 
・①ThisWorkbook⇒ActiveWorkbookに変更
・②Dimで変数定義&Setで変数セット
(修正前)

WS_Count = ThisWorkbook.Worksheets.Count
 
(修正後)
Dim WB As Workbook
Set WB = ActiveWorkbook
WS_Count = WB.Worksheets.Count
 

(1-4) 対処②:ライブラリ設定の確認

今回の原因ではありませんでしたが、疑わしい可能性がある箇所をもう一点ご紹介します。こちらは「ライブラリ設定」の不足があれば追加する、というものです。
 
・①開発タブからVBAのエディタを開いて、メニュー「ツール」⇒「参照設定」を開きます。
 
(図131)参照設定の開き方
 
・②問題なく動いているものと比較し、不足があれば追加します。
 
⇒オブジェクトや処理によっては、ライブラリの追加が必要になるため、エラーになっている処理がライブラリを必要とするか?は要確認です。
 
 

Adsense審査用広告コード


Adsense審査用広告コード


-VBA

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

VBAでシート名をブックを手で開かずに取得してリネームする方法

<目次> (1) VBAでシート名をブックを手で開かずに取得してリネームする方法  (1-1) 構文  (1-2) サンプルプログラム  (1-3) 操作動画紹介・VBAダウンロード (1) VBAで …

VBAで処理と処理の間に一定時間を空けて実行する方法

今回はVBAで処理と処理の間に一定時間を空けて実行する方法について、備忘も兼ねて記載します。 (0)目次&概説 (1) Application.wait (2) サンプルプログラムソース (3) サン …

VBAでフォルダを再帰的に検索する方法について

  <目次> (1) VBAでフォルダを再帰的に検索する方法について  (1-1) 構文  (1-2) サンプルプログラム (1) VBAでフォルダを再帰的に検索する方法について VBAでフ …

VBAによる郵便番号の正規表現マッチ確認関数&置換関数の作成

  (0)目次&概説 (1) 正規表現とは (2) 正規表現はどのような場面で利用される? (3) VBAによる正規表現の簡易チェックツール  (3-1) 郵便番号を抽出したい  (3-2) …

VBAでcsvを読み込み区切り文字で区切る方法

  <目次> (1) VBAでcsvを読み込み区切り文字で区切る方法  (1-1) 構文  (1-2) サンプルプログラム  (1-3) サンプルプログラムの実行結果 (1) VBAでcsv …

  • English (United States)
  • 日本語
Top