数ヶ月前、VBAを使用してExcelでプログラムを作成しましたが、うまくいきました。今日、私はプログラムを再開し、コードが私の上でエラーを出して、私に "アプリケーション定義またはオブジェクト定義のエラー"を与えました。このワークブックは、ネットワークドライブに格納されており、私は読み取り/書き込みの権限を持っています。ドライブ上の別の場所に保存されたワークブックの新しいコピーと、同じエラーが発生したコピーをデスクトップに保存してみました。コードは私が具体的に指定されたオブジェクトのプロパティを変更するためにシートをアクティブにする必要はありませんが、それはエラーが発生した場所を確認するために取り組んで終了した後、私は今日でその行を置くことを知っているシートを選択するときにExcelアプリケーション定義エラーが発生する
ThisWorkbook.Sheets("UI").Activate
ThisWorkbook.Sheets("UI").ChartObjects("MainChart").Chart.ProtectData = True
ThisWorkbook.Sheets("UI").ChartObjects("MainChart").Chart.ProtectFormatting = True
ThisWorkbook.Sheets("UI").ChartObjects("VPricePerChart").Chart.ProtectData = True
ThisWorkbook.Sheets("UI").ChartObjects("VPricePerChart").Chart.ProtectFormatting = True
ThisWorkbook.Sheets("UI").ChartObjects("NewChart").Chart.ProtectData = True
ThisWorkbook.Sheets("UI").ChartObjects("NewChart").Chart.ProtectFormatting = True
を停止したのはここです。 Sheets("UI").Activate
を使用すると、最初の行でエラーが発生します。 Sheets("UI")
を含む他のプロシージャを実行しようとしましたが、すべて同じエラーを返しました。ワークシートの名前が変更されていないことを確認しましたが、まだUI
です。ワークシートとワークブックは保護されておらず、ワークシートは隠されていません。私はThisWorkbook.Sheets("Data").Activate
ファインを実行することができますData
別のシートです。 UI
が私のワークブックの最初のシートであり、動作しないので、ThisWorkbook.Sheets(1).Activate
も試してみました。
私の同僚のマシンに何のエラーも起こさずに書かれているようにすべてのコードを実行して、まったく同じファイルが完全に正常に開くことです。
なぜ私はそのシートに関係することができないのでしょうか?
あなたはあなたの 'ThisWorkbook.Sheets(" UI ")を変更する必要があります。' ThisWorkbook.Sheets( "UI")を有効にしてください選択してください –
コードはあなたが処理している同じブックに含まれていますか?それはアドインまたは個人用ワークブックにありますか?最初のステップは、「ThisWorkbook」があなたがそう考えるブックを参照していることを確認することです。この行を追加して、 'Debug.Print ThisWorkbook.Name'(VBEのイミディエイトウィンドウに結果が表示されます)を確認します。それが正しい場合は、 'ThisWorkbook.Sheets'の' Debug.Print sh.Name'' Next sh'の各shのようなループを追加し、異常を探します。 – user3561813
シャイ、アクティブvsセレクトは違いはありません。実際にシートをアクティブにしたり選択したりする必要はありません。グラフのオブジェクトが私の問題を引き起こしていないことを確認するために、単にシートを配置します。プロパティを変更しようとしたり、 'Sheets(" UI ")'のメソッドを呼び出すとこのエラーが発生します。 UI、 ドロップダウン、 M-コード、 黒板、 データベースミラーリング、 データ: –