[[20161014153519]] 『実行時エラーの回避ができません。』(ロイ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『実行時エラーの回避ができません。』(ロイ)

度々お世話になります。

マクロはまだ初心者です。
マクロのスタート時「実行時エラー"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


VBAの編集画面、イミディエイトウィンドウで、以下を実行してみると、どうなりますか?

? 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


>ですが、私はマクロのことを考えすぎていました。
>この不具合マクロが含まれるブックは1つのみですし、このブックのみ開いています。
現象が特定のブックということは、ブックが壊れている可能性が高いかも?
新しいブックにシートをコピーして名前を付けて保存して改善しないでしょうか?

(まっつわん) 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.