Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Professional : Excel 2007)
実行時エラー'91'について
投稿日時: 18/03/20 16:13:49
投稿者: namonamo20

超簡単!ExcelでQC七つ道具・新QC七つ道具 作図システム2.12というツールでパレート図を作成しようとしたところ下記のようなエラーが出ます。
 
実行時エラー'91':
オブジェクト変数またはWithブロック変数が設定されていません。
 
【デバッグ】
  Option Explicit
 
  Function AddinLib()
      AddinLib = ThisWorkbook.Path & "\QC7LIB.xla"
  End Function
     .
     .
     .
  Sub Q1Main() '作図
    On Error GoTo L99
ココ→ Application.Run "'" & AddinLib & "'!Q1Main"
  L99:
  End Sub
     .
     .
     .
 
同じ環境の別PC何台かでは問題なく動作しています。1台だけ動きません。
ツール作成元に問い合わせたところPC固有の問題のため対応できないといわれました。
 
これが本当ならPC側の設定を直せば使えるということになるのですがExcelなのかWindowsなのか見当もつきません。
エラーからPCのどこがあやしいのかアドバイスをいただけませんか。
よろしくお願いします。
 
以上

回答
投稿日時: 18/03/20 17:27:40
投稿者: もこな2

namonamo20 さんの引用:
ツール作成元に問い合わせたところPC固有の問題のため対応できないといわれました。

的を外してたらごめんなさいですが、ツールの提供元が、対応できないって言ってるんですよね?
それを、開発してない人に聞いたって中身もなにも解らないんだから解決できないんじゃないでしょうか・・・

投稿日時: 18/03/20 17:44:37
投稿者: namonamo20

もこな2さん
コメントありがとうございます。
提供元が対応できないのはツールに問題がないということです。
あくまで使用しているPCにできない原因があるということなのでそれがエラーからわかればと思い投稿しました。
 
よろしくお願いします。
 
以上

回答
投稿日時: 18/03/20 17:50:37
投稿者: WinArrow
投稿者のウェブサイトに移動

全くの推測ですが、
 
>同じ環境の別PC何台かでは問題なく動作しています
 
このコードが組み込まれているブックの保存場所も同じですか?

投稿日時: 18/03/20 17:56:09
投稿者: namonamo20

WinArrowさんコメントありがとうございます。
 
保存場所は同じです。
よろしくお願いします。

回答
投稿日時: 18/03/20 19:41:09
投稿者: WinArrow
投稿者のウェブサイトに移動

namonamo20 さんの引用:
WinArrowさんコメントありがとうございます。
 
保存場所は同じです。
よろしくお願いします。

 
質問の意味が伝わっていないような・・・・・?
 
今回掲示のコードが書かれているブックを使っているあ?
ということです。
 
RUNメソッドの引数が違うと思いますが・・・
Run ファイルのフルパスではなく、開いているブックのブック名だと思いますが。
 
 
 
私は、次のように使っていますが・・
 
With WorkBooks>open("ファイルパス")
    Run .Name & "!TESTMAIn"
End with

投稿日時: 18/03/21 08:51:25
投稿者: namonamo20

WinArrowさんコメントありがとうございます。
おっしゃる通り意味が伝わっていませんでした。
 
Application.Run "'" & AddinLib & "'!Q1Main"がパスではなくファイル名ということでしょうか?
つまり
Application.Run "'" & "Q1パレート図.xls!Q1Main"
ということですか?
 
よろしくお願いします。

回答
投稿日時: 18/03/21 09:03:54
投稿者: WinArrow
投稿者のウェブサイトに移動

With WorkBooks>open(ThisWorkbook.Path & "\QC7LIB.xla")
     Run .Name & "!TESTMAIn"
 End with
 
ということです。
自ブックのプロシジャを指定しても、全く意味ない。

投稿日時: 18/03/21 10:42:55
投稿者: namonamo20

WinArrowさん
 
動かないPCにて教えていただいたものに修正して動かしてみましたが同様のエラーが出ました。
元々正常に動作するPCだと修正したものも動きます。
 
Application.Run "'" & AddinLib & "'!Q1Main"を下記に置き換え
           ↓
With Workbooks.Open(ThisWorkbook.Path & "\QC7LIB.xla")
      Run .Name & "!Q1MAIn"
End With
 
やはりツールとは別のところで原因があるのでしょうか。

回答
投稿日時: 18/03/21 13:58:10
投稿者: WinArrow
投稿者のウェブサイトに移動

動くPCと動かないPCの違い検証
(1)OFFICEのバージョン
(2)OFFICEのアーキテクチャ(64bit/32bit)
 
提供ツールはたしか32bit対応ではないかと思います。
 
 

回答
投稿日時: 18/03/22 10:09:52
投稿者: Suzu

マクロ云々の前に、【手動で】そのアドインを指定し 動作するのか確認しましょう。

投稿日時: 18/03/23 08:35:35
投稿者: namonamo20

WinArrowさん
 
調べた結果下記です。
バージョン
正常PC:Excel2007(12.0.6786.5000) 32bit
異常PC:Excel2007(12.0.6611.1000) 32bit
※Excel2016の別PCでも動作してます。
単純にバージョンを統一すればという話になりますでしょうか。
 
Suzuさん
コメントありがとうございます。
試してみます。

投稿日時: 18/03/23 10:22:14
投稿者: namonamo20

Suzuさん
手動での実行を試みましたがやり方がわかりません。
アドオンの追加はオプションからできました。
実行はアドオンメニューからできるのかと思ったのですがアイコンが出てきません。
どうしたらよいでしょうか?
アドバイスお願いします。
 
以上

回答
投稿日時: 18/03/26 11:01:47
投稿者: WinArrow
投稿者のウェブサイトに移動

引用:

正常PC:Excel2007(12.0.6786.5000) 32bit
異常PC:Excel2007(12.0.6611.1000) 32bit

 
前者(正常)が最新バージョンと思います。
私のPCには、前者がインストールされています。
 
取り敢えず、最新バージョンにUPDATEしてみましょう。

回答
投稿日時: 18/03/26 14:18:23
投稿者: Suzu

引用:
アドオンの追加はオプションからできました。
実行はアドオンメニューからできるのかと思ったのですがアイコンが出てきません。
どうしたらよいでしょうか?

 
実行の確認は、VBE画面からできませんか?
アドインの設定がきちんとできたのであれば、VBEの一覧に表示されませんか?

投稿日時: 18/03/27 16:19:19
投稿者: namonamo20

WinArrowさん
 
バージョンを合わせましたがだめでした。
 
Suzuさん
 
VBEの一覧には出てきていますがなにも操作できません。
プロジェクトがロックされていますというウィンドウが表示されて「プロジェクトを表示できません」と書かれています。
 
かなり手詰まりな感じです。
もし他に試す方法があれば教えてください。

回答
投稿日時: 18/03/27 19:18:12
投稿者: Suzu

引用:
プロジェクトがロックされていますというウィンドウが表示されて「プロジェクトを表示できません」と書かれています。

 
プロジェクトエクスプローラー内で表示させようとするとそうなります。
今回確認したいのは、アドインを手動で実行できるかを確認したいのです。
 
 VBE画面のプロジェクトエクスプローラーで、アドインのプロジェクトを選択し、
 F5等で、マクロの実行 を進めると そのプロジェクト内のマクロの選択画面になります。
 そこで、必要なマクロを実行。
 
 これで、エラーになるのであれば、アドイン側の問題ですよね。
 
 
プロジェクトは開けませんが変数や、プロシージャは、オブジェクトブラウザで確認できます。
 ロジェクトエクスプローラーで、アドインのプロジェクトを選択し
 F2 オブジェクトブラウザ を表示させると、プロシージャと、変数の一覧が表示されます。

トピックに返信