Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2013)
Excel2010→ Excel2013 トラブル
投稿日時: 18/12/03 10:15:49
投稿者: シラタマ

Excel2010→ Excel2013 バージョンアップしまた。
数ファイルで、Option Explicit で
コンパイル エラー
無効なオブジェクト ライブラリです。または定義されていないオブジェクトへの参照を含んでいます。
が発生しています。
対処方法として、全てのソースコードをエクスポート後、
モジュールを解放、シートマクロを全て消去して
全てのソースコードが無い状態で上書き保存します。
再起動後、全インポートすれば、コンパイルエラーが無くなり
正常に使用出来る様になります。
 
簡単に修復する方法はないでしょうか?

回答
投稿日時: 18/12/03 13:18:28
投稿者: Suzu

こんにちは。
 
原因としていくつか考えられるのですが
 
可能性が一番高いのは、参照設定の中に、「参照不可」のライブラリが含まれている場合
 
【マクロで参照設定を操作する】
http://officetanaka.net/excel/vba/tips/tips100.htm
 
このページの真ん中あたりに、参照不可の画像があります。
 
参照不可になっているライブラリが無いか確認下さい。
 
コードを消して保存しなおして直るという事は、
参照設定は必要なさそうなので、参照不可となっているライブラリの参照設定を外し、
コンパイルし直してみましょう。
(その前に、バックアップとして、ファイルをコピーをとってから実行してください。)
 
 
もし、それでもエラーとなるなら
 
【「Excel VBA」異なるバージョンの利用者に配布するときの注意点】
http://www.stdio.jp/entry/excel_vba/different-version-release
 
にある、CreateObjectを使った方法。
 
参照設定 不可になっている部分を外し、
ライブラリを使用している部分を全部 CreateObjectに書き替えます。

投稿日時: 18/12/03 13:50:46
投稿者: シラタマ

Suzu さん
回答有り難うございます。
 
参照不可はありませんでした。
チェックを外そうとすると、
使用中のコントロールまたは参照を削除することはできません、。
となるので参照不可はないと思います。
 
Option Explicitを削除してコンパイルすると
何も記していない最上段行の1文字が反転して
同様のエラーとなります。

回答
投稿日時: 18/12/03 15:02:14
投稿者: Suzu

参照設定ではない。。
 
となると、
 
Excel 2010 の 動作bit と、 Excel2013 の動作bitは。。
VBE上でコード消して再度登録すると解消するという事は 32bit/64bit の問題では無さそうですね。。
 
となると。。
【"オブジェクトを挿入できません" エラーが MS14-082 セキュリティ更新プログラムをインストールした後に ActiveX カスタム Office ソリューションで表示される】
https://support.microsoft.com/ja-jp/help/3025036/cannot-insert-object-error-in-an-activex-custom-office-solution-after
 
中に
 
『オブジェクト ライブラリが無効、または見つからないオブジェクト定義への参照を含んでいます。』
は表示される
とあります。
 
これかなぁ。。
 
上記の記載内容で回避できない場合は、
 
「バージョンアップ」の 意味を教えてください。
 
1. 使用するPC の Excel を、2010 → 2013 にバージョンアップした
2. 使用するPC その物を 変え、そのPCにインストールされている Excel が2013だった
 
どちらでしょうか。
 
また、問題のあるファイルを、
さらに別バージョン(できればExcel2013よりも新しい物)にて実行した場合の結果を教えてください。

投稿日時: 18/12/03 15:58:00
投稿者: シラタマ

Suzu さん
回答有り難うございます。
 
>「バージョンアップ」の 意味を教えてください。
パソコンは会社のパソコンで
全てバージョンアップされました。
 
全てのマクロを削除して、再構築すると正常になる。
ファイルはサーバーにあり、
全てのファイルが駄目ではなく3ファイルがNGです。
現在使用している(確認)数十ファイル内、1割かNGです。
NGファイルに共通点があるか確認しましたが、
これだと言う共通点はありません。

投稿日時: 18/12/04 09:54:41
投稿者: シラタマ

NGファイルの拡張子を
xlsm → xlsx に変更して起動します。
Excl でファイル・・・を開くことはできません。
ファイル形式またはファイル拡張子が正しくありません。
ファイルが破損しておらず、ファイル拡張子とファイル形式が一致してることを確認してください。
が表示されますのでOKをクリックして終了します。
xlsx → xlsm に戻して起動すると正常に動作しました。

回答
投稿日時: 18/12/04 12:58:49
投稿者: Suzu

【"オブジェクトを挿入できません" エラーが MS14-082 セキュリティ更新プログラムをインストールした後に ActiveX カスタム Office ソリューションで表示される】
 
の解決方法 では、『解決できなかった』という事でしょうか?
 
---------------------------------------------------------------------------------------

引用:
>「バージョンアップ」の 意味を教えてください。
パソコンは会社のパソコンで
全てバージョンアップされました。

繰り返します。
パソコン自体を更新したのですか?
それとも、Excel「だけ」を更新したのですか?
 
---------------------------------------------------------------------------------------
引用:
また、問題のあるファイルを、
さらに別バージョン(できればExcel2013よりも新しい物)にて実行した場合の結果を教えてください。

これは、全てのパソコンのExcelが 2013 なので、実施していないという事でしょうか?
 
---------------------------------------------------------------------------------------
エラーになるファイルを他のパソコンで開いても同様のエラーとなるのでしょうか?
 
 
---------------------------------------------------------------------------------------
引用:
NGファイルの拡張子を
〜〜〜〜〜
xlsx → xlsm に戻して起動すると正常に動作しました。

それが正常な状態ですので気になさらずに。
 
 
---------------------------------------------------------------------------------------
引用:
全てのマクロを削除して、再構築すると正常になる。
ファイルはサーバーにあり、
全てのファイルが駄目ではなく3ファイルがNGです。

原因は判らずじまいとなってしまいますが
3ファイルだけなのであれば、
 
引用:
全てのソースコードをエクスポート後、
モジュールを解放、シートマクロを全て消去して
全てのソースコードが無い状態で上書き保存します。
再起動後、全インポート

をしてしまってはいかがでしょう。

投稿日時: 18/12/04 14:40:20
投稿者: シラタマ

 
【"オブジェクトを挿入できません" エラーが MS14-082 セキュリティ更新プログラムをインストールした後に ActiveX カスタム Office ソリューションで表示される】
 の解決方法 では、『解決できなかった』という事でしょうか?
 
生産技術課からシンクラPCが支給され、
BigFixが提供されており、アップデートは自動実行されます。
ユーザーは何も出来ません。
 
---------------------------------------------------------------------------------------
引用:
>「バージョンアップ」の 意味を教えてください。
パソコンは会社のパソコンで
全てバージョンアップされました。
繰り返します。
パソコン自体を更新したのですか?
それとも、Excel「だけ」を更新したのですか?
---------------------------------------------------------------------------------------
 
支給されたPCです。
旧PCは廃棄。
 
引用:
また、問題のあるファイルを、
さらに別バージョン(できればExcel2013よりも新しい物)にて実行した場合の結果を教えてください。
 
シンクラは全てExcel2013です。
 
これは、全てのパソコンのExcelが 2013 なので、実施していないという事でしょうか?
  
そうです。
 
---------------------------------------------------------------------------------------
エラーになるファイルを他のパソコンで開いても同様のエラーとなるのでしょうか?
  
 同様です。
 
---------------------------------------------------------------------------------------
引用:
NGファイルの拡張子を
〜〜〜〜〜
xlsx → xlsm に戻して起動すると正常に動作しました。
それが正常な状態ですので気になさらずに。
  
xlsx → xlsm する事により、マクロファイルであると
認識されたと考える事は間違いでしょうか?
NGファイルは他シンクラPCでもOKでした。
 
-------------------------------------------------------------------------------------
引用:
全てのマクロを削除して、再構築すると正常になる。
ファイルはサーバーにあり、
全てのファイルが駄目ではなく3ファイルがNGです。
原因は判らずじまいとなってしまいますが
3ファイルだけなのであれば、
引用:
全てのソースコードをエクスポート後、
モジュールを解放、シートマクロを全て消去して
全てのソースコードが無い状態で上書き保存します。
再起動後、全インポート
をしてしまってはいかがでしょう
 
モジュールマクロは数千行、シートマクロがあり、
簡単にはでき無い為、質問しました。
 
色々、御教授頂き、有り難う御座いました。