[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『実行時エラーの回避ができません。』(ロイ)
度々お世話になります。
マクロはまだ初心者です。
マクロのスタート時「実行時エラー"57121"アプリケーション定義またはオブジェクト定義のエラーです」が出ます。色々やっていますが、回避できません。多分、意味をよく理解していないからだと思います。また、過去ログに似たものはありますが、全てを検索しきれていません。
シートは2つ、"はじめに"と"メイン"の2枚しかありません。
以下に怪しそうなコードを記します。
ご教授願います。
−−−−−−−−−−−−
ThisWorkbookのコードです。
Private Sub Workbook_Open()
Sheets("はじめに").Select Application.WindowState = xlMaximized ActiveWindow.Zoom = 100 Range("A1").Select Application.DisplayFormulaBar = False ActiveWindow.DisplayGridlines = False ActiveWindow.DisplayHeadings = False Application.DisplayFullScreen = True 'フルスクリン化
userform1.Show
End Sub
−−−−−−−−−−−−
次に、実行時エラーの出るコードです。
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False '画面のチラチラを無くし処理速度アップ
Sheets("はじめに").Select Range("A1").Select Application.WindowState = xlMaximized ActiveWindow.Zoom = 109
Sheets("メイン").Select ←ここで実行時エラーがでます。 Range("A1").Select Application.WindowState = xlMaximized ActiveWindow.Zoom = 38
Sheets("はじめに").Select Range("A1").Select
Application.DisplayFullScreen = True 'フルスクリン化
Unload Me 'フォームウィンドOFF
End Sub
−−−−−−−−−−−−
次に、マクロ最後のコードです。
Private Sub CommandButton1_Click()
Unload Me
Sheets("メイン").Select Application.DisplayFormulaBar = True ActiveWindow.DisplayGridlines = True ActiveWindow.DisplayHeadings = True
Sheets("はじめに").Select Application.DisplayFormulaBar = True ActiveWindow.DisplayGridlines = True ActiveWindow.DisplayHeadings = True
Application.DisplayFullScreen = False 'フルスクリン化終了
Range("a1").Select ActiveWorkbook.Save
End Sub
−−−−−−−−−−−−
よろしくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sheets("メイン")が無いのでは?
後ろにスペースが入ってないかとか、シート名を確認して下さい。
(ウッシ) 2016/10/14(金) 16:07
ウッシさま、ありがとうございます。
Sheets("メイン")はちゃんとあるのです。
マクロには、多くのフォームがあって、"はじめに"と"メイン"シートを行き来しています。ですから、シート名は合っています。
>後ろにスペースが入ってないかとか、
これは、ちょっと意味がわかりません。
シートのラベルですか。それともコードの記入場所ですか?
それとも?
(ロイ)
僕はなんでも壊れてるかなと疑うんですが、
シートをコピーして、元のシートを削除して、名前を元に戻したらどうなりますでしょうか。。。?
(まっつわん) 2016/10/14(金) 16:24
ちゃんとシートがあるとしたら、Private Sub CommandButton1_Click()の実行前に
違うブックが開かれているとかは無いのですか?
(ウッシ) 2016/10/14(金) 16:26
? Sheets("はじめに").name
? Sheets("メイン").name
"メイン"だけエラーになるようならば、名前が間違っています。よ〜く見比べてみてください。
(???) 2016/10/14(金) 16:33
先ず、まっつわんさま、
ご指摘の通り、2つともシートをコピーしたあと、元を削除して名前を戻して実行しましたが、
同様に実行時エラーがでました。
次に、ウッシさま、
>違うブックが開かれているとかは無いのですか?
とのご指摘。
ここがマクロ初心者。
どうやって、違うブックが開いていることを確認するのでしょうか?
そして、???さま、
イミティエイトウィンドで確認しました。
そしたら、"メイン"と表示しました。
これが原因ですか?
どこが間違っているか、よーく、見てみます。
(ロイ) 2016/10/14(金) 17:09
Sheets("メイン").Select ←ここで実行時エラーがでます。
を
Application.GoTO ThisWorkbook.WorkSheets("メイン").Range("A1"), True
にすると、どうなりますか?
(ウッシ) 2016/10/14(金) 17:12
となると、考えられるのは、ウッシさんの指摘している、そのときアクティブなブックは何?、という点でしょうね。 またイミディエイトウィンドウを使って、以下を実行してみてください。
? activeworkbook.Name (???) 2016/10/14(金) 17:17
何度もありがとうございます。
ご指導の通り、
Application.GoTO ThisWorkbook.WorkSheets("メイン").Range("A1"), True
にして、実行しました。
やはり、実行時エラーが出ました。
すみません。
(ロイ) 2016/10/14(金) 17:32
ご指導ありがとうございます。
ちょっと数時間、不在します。
申し訳ありません。
(ロイ) 2016/10/14(金) 17:35
まっつわんさま、ウッシさま、???さま、これまでのご指導ありがとうございます。
ウッシさまご指導の、
>違うブックが開かれているとかは無いのですか?
ですが、私はマクロのことを考えすぎていました。
この不具合マクロが含まれるブックは1つのみですし、このブックのみ開いています。
???さま、ご指導の
>イミディエイトウィンドウを使って、以下を実行してみてください。
>? activeworkbook.Name
ですが、ウッシさまへのお答えと同じですが、指差呼称V3.xlsm と言うもののみ表示します。
遅れて申し訳ありませんでした。
(ロイ) 2016/10/14(金) 21:58
(まっつわん) 2016/10/15(土) 08:58
おはようございます。
朝からご教授ありがとうございます。
ブックが壊れている可能性があるんですね。
過去に経験したことを思い出しますが、まさかこのブックが?との思いです。
新しいブックにシートのコピーは簡単にできましたが、
すみません、VBAプロジェクトはどうやったらコピーできるのでしょうか?
間違えたくなかったもので、ご教授お願い致します。
(ロイ) 2016/10/15(土) 09:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.