Iプリプロセッサを使用していくつかのコードは、コマンドを持っている:#If
、#Else
と基本的に私が持っている#End If
使用してVBAのapplication.statusbarは、実行時エラーが発生し
#If Mac then
msgbox "Can't update the list when running on a mac"
#Else
Application.StatusBar = "updating names..."
***other code here****
Application.StatusBar = false
#End if
コード作品私のマシンでは問題ありませんが、スプレッドシートを開いてコードをコンパイルすると、エラーメッセージが表示されます。
保護されたビューでスプレッドシートを開くときに発生するエラーです。保護されていないビューでは、エラーは表示されません。それは、それが開かれた後にサブが呼び出された後に開かれた時点でコンパイルされるとうまく動作します。
ステータスバーのコマンドを削除してもエラーは発生しません。
「On Error Resume Next」を追加しようとしましたが、エラーを停止しません。
したがって、私はプリプロセッサルーチン内でステータスバーを使用することはできないと思われ、動作することを確認してください。
私はExcel 2013を使用していますが、Excel 2013でエラーが発生しました。どちらのマシンも64ビットWindows 8.1で、実際には両方のマシンがコアMプロセッサ搭載のASUS UX305Fと全く同じ仕様です。
誰でも何が起こっているのかも知れませんか?
"コンパイル時のランタイムエラー" - コンパイルエラー* * - エラーメッセージがある場合、これはコンパイルエラーではありません。 VBAがプリプロセッサディレクティブを実行するときに実行時に発生します。関連する '#If'プリプロセッサの条件が何であるかを含めると良いでしょう。 –
私の混同した用語を訂正してくれてありがとう。私は使用されたディレクティブを表示するように更新しました。私はThisWorkbook.Application.statusbarを試してレポートを返します。私はエラーを引き起こしたPCを持っていないので、試してみようと電子メールを送ります。 – MrPea
@Slaiエラーメッセージ中の '_Application'オブジェクトは' Application'を正しく認識しています。 'ThisWorkbook'で修飾すると何かが変更された場合、それはまったく同じオブジェクトポインタであるため、私は驚いています。 –