VBA
1Private Sub Workbook_BeforeClose(Cancel As Boolean) 2 3On Error GoTo ERROR_ 4 ' 5 'ここに100行くらい書いたわけですよ。 6 ' 7 Cancel = False 8 Exit Sub 9ERROR_ 10 Cancel = True 11End Sub
Private Sub Workbook_BeforeClose(Cancel)を使うと「Sub または Function が定義されていません。」という意味不明なエラーが出ます。
綴りも大文字、小文字も間違っていません。
どうすれば良いでしょうか?
補足
ソースコードは間違っていません。
エクセルがおかしいのです。
どうすれば良いでしょうか?
補足
考えていたら何がおかしいのかわかってきたような気がします。
エラーが出ている行は間違っていません。
関係ないところが間違っていると思います。
エクセルは馬鹿なので。
補足
エクセルがエラーメッセージを出したら、自分が間違えていると思って調べるとわけがわからなくなってイライラします。
エクセルが間違っていると考えなくてはなりません。
今回は、関数を呼び出したら、関数名を定義している行にエラーが出ましたが、そこに間違いがあると思うとわけがわからなくなってイライラしました。
たぶん、関数の中身を全部切り取ってメモ帳に貼り付けて関数の中身を空っぽにして、メモ帳から1行ずつ元に戻しては実行を繰り返すというアホみたいなことをすれば解決します。
補足
1行ずつ元に戻すのはアホみたいなので、二分探索法を使います。
最初は上半分だけ戻して実行してエラーが出たら、上半分にエラーがあると確定します。そんな感じで半分ずつ戻すことを繰り返すと早く解決します。
補足
>>エクセルは馬鹿なので。
>コードは書いた通りにしか動きません。
>書いたのは誰ですか?
間違ったエラーを出したのはエクセルです。エクセルが馬鹿なので。
補足
>要件に対して間違ったコードなのかどうか第三者が分かる情報を提示しないまま言えることではないです。「百聞は一見に如かず」と言うでしょう?
いや、最初に「Sub または Function が定義されていません。」という意味不明なエラーが出ます。」と最大限の必要十分な情報を提示しています。VBAに精通している人なら「それはfunctionの中身がどこか間違っているだけです。」と的確な回答が出来たハズです。
補足
>ということなら、y_waiwaiさんの
>「意味不明、と切り捨てずに、エラーメッセージを理解し、正しく修正すればいいです」
>がベストアンサーでいいんじゃないの?
いや、そうではありません。
「エクセルのエラーメッセージは間違っています。エクセルのエラーメッセージを真に受けてはいけません。また、エクセルのデバッガは馬鹿なのでステップ実行もあきらめましょう。関数の中身を全部切り取ってメモ帳に貼り付けて関数の中身を空っぽにして、メモ帳から1行ずつ元に戻しては実行を繰り返すというアホみたいなことをすれば解決します。」が正解です。
補足
>コードを示さず「この部分です」って言えるわけないだろ。
エラーが出ていたコードは示しています。
Private Sub Workbook_BeforeClose(Cancel)
↑デバッグ実行すると、この行でエラーになります。
補足
>じゃあそこ直せよ。
>そこに問題があるんだろ?
>問題がある個所を示したんだよな?
>解決だな。
だから!この行には何も問題ないのに、この行でエラーが出るからエクセルが馬鹿だって言ってるんだよ!
もういいです。
明日も明後日も会社休みだからソースコード見れるのは金曜日なんで。
補足
>結局、問題というのは
>ブックを閉じたときに動くイベント処理を書きたくて、ネットで検索したコードを見よう見まねで貼り付けてみたけど、うまく動かなくて、よくよく調べてみたら標準モジュールじゃなくてThisWorkbookに書かないといけないという説明を見落としていた、というのが原因でした、正しい場所に移動させたら動くようになりました、ということでいいの??
違います。
その問題は解決して、呼ばれるようになったけど、Private Sub Workbook_BeforeClose(Cancel)の行で「Sub または Function が定義されていません。」という意味不明なエラーが出てイラッとしたので、ここに書き込んで会社を出ました。
補足
将棋に例えるなら封じ手をして2日間お休みする感じです。
追記
エラーラベルのコロンは付け忘れていませんでした。
自分のフォルダ名取得にこのサイトを参考にしたのが間違いでした。
https://lilia-study.com/excel/excel-sample/cell-folbosh.html
回答3件
あなたの回答
tips
プレビュー