ID非公開さん
2022/6/23 17:28
2回答
Excel2016を使っています。 VBAで標準モジュールにいくつかSubプロシージャを書いています。 シート上に設置したボタンを押すと動くマクロです。
Excel2016を使っています。 VBAで標準モジュールにいくつかSubプロシージャを書いています。 シート上に設置したボタンを押すと動くマクロです。 順調に動いていましたが、ある日突然 起動時に「プロシージャの外では無効です」というエラーが出てしまい、デバッグを押すと、全てのプロシージャ名がエラー判定されてしまっていました。 無視しても、Excelを閉じるときまたエラーが出ます。 ですが、標準モジュール内に書いてあるコードを、 全て一度切り取り、メモ帳に貼り付けてから、再度同じ標準モジュールのところに貼り付けると、「プロシージャの外では無効です」というエラーは起こらなくなります。 何が原因なのか分かりませんが、 1点、社内に中国語をメインにしてPCを使用している方がおり、 別件で別のマクロを動かしたときに見たこともないエラーが出ました。 その方も今回問題のExcelを、マクロこそ使用しませんが、シートはいじったり閲覧したりするので、それが関係しているのでしょうか。 コード自体には問題がない(コードを貼付なおしたら、全く同一のコードで問題なく動くため)と思うので、どのようなコードかはここには掲示しませんでしたが、必要であれば貼り付けます。 お分かりになる方いらっしゃいましたら、教えていただけますと幸いです。
※原因と対策が知りたいです…
Excel | Visual Basic・105閲覧・500
ベストアンサー
こんにちは。 >※原因と対策が知りたいです… マクロコードは、プロシジャー名に、「全角は使わない」 ようにしてください。 「ボタン」みたいなプロシジャ名も、ひっかかります 半角英字のモジュール名にしてください。 次は、変数名でもしあったらですが、今の状況だったら、 プロシジャー名が一番てこ入れ箇所です
1人がナイス!しています
ID非公開さん
質問者2022/6/24 17:54
ご回答ありがとうございます。 ご指摘の通り、プロ―ジャ名に全角文字を使っていました。 コメントアウトも、全角文字は使わないほうがよいのでしょうか
質問者からのお礼コメント
補足まで丁寧にご回答下さりありがとうございました。
お礼日時:6/27 16:38