29

別のワークシートでサブルーチンを呼び出そうとしていますが、実行時エラー メッセージが表示されます。

具体的には、2 つのワークシートと、それらのワークシートに複数の VBA sub があります。VBA プロジェクト (workbook1.xlsm など) の 1 つに、次のコードがあります。

Sub AnalysisTableMacro()
Workbooks("Python solution macro.xlsm").Activate
Application.Run "Python solution macro.xlsm!.PreparetheTables"
End Sub

しかし、次のエラーが発生しました。両方のワークシートのマクロが有効になっています。両方のワークシートで、潜水艦は Module1 にあります。

マクロ 'Workbook.xlsm!PrepareTheTables' を実行できません。>このワークブックでマクロを使用できないか、すべてのマクロが無効になっている可能性があります。

私も試しApplication.Run "Python solution macro.xlsm!Module1.PreparetheTables"ましたがうまくいきませんでした。

4

13 に答える 13

22

ワークブックの名前にスペースが含まれている場合は、ファイル名を一重引用符 (') で囲む必要があります。ピリオドも削除しました。

Application.Run "'Python solution macro.xlsm'!PreparetheTables"
于 2016-03-07T15:55:26.303 に答える
8

クラス モジュールでルーチンを作成しているときにも、この問題が発生します。

コードを外部で実行しようとすると、このエラーが発生します。
ボタンにマクロをクラス モジュールのメンバーに割り当てることもできません。

緑の再生ボタンを押してコード内から実行しようとすると、同じエラーが表示されます。

ルーチンを通常のモジュールに移動するか、通常のモジュールでクラス メンバーを呼び出す新しいルーチンを作成します。

于 2018-05-11T13:39:09.553 に答える
7

同じ問題があり、エラーを特定した「VBAプロジェクトをコンパイル」しました。修正してコンパイルした後、マクロは機能しました。

于 2016-09-04T03:53:58.697 に答える
7

Microsoftの KB に従って、Visual Basic プロジェクトへのプログラムによるアクセスを許可してみてください。

  1. Microsoft Office ボタンをクリックし、[Excel のオプション] をクリックします。
  2. [セキュリティ センター] をクリックします。
  3. [セキュリティ センターの設定] をクリックします。
  4. マクロ設定をクリックします。
  5. [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する] チェック ボックスをオンにします。
  6. [OK] をクリックして、[Excel のオプション] ダイアログ ボックスを閉じます。
  7. Excel を閉じて再度開く必要がある場合があります。
于 2014-01-17T00:42:37.773 に答える
0

OPと同じ問題があり、オプション宣言のスペルが間違っていることがわかりました:

' Comment comment  

Options Explicit  

Sub someMacroMakechart()

正しいのではなく、サブモジュールで。

' Comment comment  

Option Explicit  

Sub someMacroMakechart()
于 2016-01-21T05:04:22.727 に答える