
私はExcel2016を使用していますが、Excelファイルを開けると写真のようなデバックが出るのです。
同じファイルをExcel2013を使用している方が開けると出ないで使用できるのですがどうしてでしょうか?
どうやれば私のほうでデバックがでないで使用できるか教えて頂けませんか?
よろしくお願いします。
【デバック箇所】
Private Sub Workbook_Open()
Dim i As Long
For i = 1 To Sheets.Count
⇒ この部分が黄色くなってます。Sheets(i).Protect Password:="0630", UserInterfaceOnly:=True
Next i
End Sub
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
#6です
ブックの問題のようですね・・#6の修復は行いましたか?
修復したのちに不具合のブックはどうでしょう・・やはりエラーが出ますか
エラー内容を教えてください
ブックは共有ブックなど問題のないブックとの違いはありませんか・・
Sheets.Count=2 2シートしかないブックですか
取り敢えず 原因を切り分ける作業として
手作業ですべてのシート保護を解いて
エラーがある場合 飛ばすコードを入れて実行してみてください
標準モジュールに書いてプロシージャ内にカーソルを置いてF5キーで実行
実行は他の方法でも良いF8キーだと1行ずつ実行できます
Sub Test()
Dim i As Long
Application.EnableEvents = False
On Error Resume Next
For i = 1 To Sheets.Count
Sheets(i).Protect Password:="0630", UserInterfaceOnly:=True
Next i
Application.EnableEvents = True
End Sub
実行後どのシートが実行されていないか(保護が掛からない)確認してみてください(保護されているシートに不具合は無いと思われる)
もしすべてのシートに保護が掛かった場合
Private Sub Workbook_Open()
Call Test
End Sub
として実行してみてください
No.7
- 回答日時:
では最初の状態のままループ条件を1から1にしてはどうでしょうか
----------------------------------------------------------------------
For i = 1 To 1
With Sheets(i)
If .ProtectContents = False Then
.Protect Password:="0630", UserInterfaceOnly:=True
End If
End With
Next i
----------------------------------------------------------------------
あまり意味はありませんが処理を1回だけループするというプログラムです
No.6
- 回答日時:
こんばんは 横からすみません
同じブックを開いて
バージョン違いで発生するコードは含まれていないと思います
エラー№(詳細)は何でしょうか
ローカルで試しましたが発生しなかった為、
Officeの問題かExcelBookの問題と推測します
(環境が違うので参考に成らないかもです)
Officeの修復を試してみてください
https://support.microsoft.com/ja-jp/office/offic …
ブックの問題の場合
お使いのExcelで新規ブックを作成して複数シートを追加、ランダムにシートに保護を掛け、シートタグから非表示を実施して ThisWorkbookモジュールに 当該コードを記載し 任意の場所に保存し閉じます
改めてそのブックを開いた時に同様のエラーが出るか確認してみてください
エラーが出なければブックの問題になります
No.5
- 回答日時:
説明不足ですみません(;´・ω・)
----------------------------------------------------------------------
For i = 1 To Sheets.Count
With Sheets(i)
If .ProtectContents = False Then
.Protect Password:="0630", UserInterfaceOnly:=True
End If
End With
Next i
----------------------------------------------------------------------
上記を
----------------------------------------------------------------------
Sheets(1).Protect Password:="0630", UserInterfaceOnly:=True
----------------------------------------------------------------------
の一行にするという意味です。
表示されているシートが1のみであれば保護するシートも1シートのみで問題ないと思われます。
No.4
- 回答日時:
ワークブックを見ていないので回答が難しいですが、「2」と表示されているということはワークシートが複数存在するということで、1枚目のシートは正常に処理が行えていることを意味します。
2枚目以降のシートが非表示になっていませんか?確認方法はいくつかありますがデバッグ画面が表示されているということなのでプロジェクトウィンドウの「Microsoft Excel」フォルダ内のSheet1~複数が表示されていると思われます。ワークブック(通常のエクセル画面)のシートを右クリックし、メニューより「再表示」を選択してシートを表示してから処理を行ってみて下さい。
もし自動的にシートが非表示にされるようでしたら保護を掛けるシートを1のみにすれば問題ないかと思いますので「For文」を削除してSheets(1)のみに保護を掛けてみて下さい。
No.3
- 回答日時:
未検証ですが以下コードをお試しください
----------------------------------------------------------------------
For i = 1 To Sheets.Count
With Sheets(i)
If .ProtectContents = False Then
.Protect Password:="0630", UserInterfaceOnly:=True
End If
End With
Next i
----------------------------------------------------------------------
上記はシートに保護がかかっていなければ保護をかけるという命令です。
No.2
- 回答日時:
デバッグで停止している時にSheets.Countにカーソルを合わせれば表示されますが、上手くいかない場合には「Ctrl+G」でデバッグウインドウを開き
「?Sheets.Count」と記入してエンターを押してください
No.1
- 回答日時:
デバッグで停止した際にSheets.Countはいくつになっていますか?
もし「1」以外になっている場合には隠しシートが存在することが考えられます。
あとはWorkbook_Openに記載されていますが、シートがアクティブになっていない場合に同様のエラーが出ることがあります。「Workbook_Open」ではなく「Active」に記載してみてはどうでしょうか。
「Sheets」を「WorkSheets」にしてみるのも良いかもしれません。
最後に当該事象を検証するために「For」内に「With」句を切って修飾が正しいかを検証するのも良いかもしれません。
思い付くことを羅列しましたが解消の種になれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
起動時に何のダイアログも表示...
-
Visual Studio 2017 ビルドする...
-
Visual Studio 2008(ASP.net) ...
-
eclipseでプログラムが実行でき...
-
C# リソースに埋め込んだ.exeフ...
-
VB6でコモンダイアログにバグ?...
-
ASP.NET exeの作成方法
-
Visual studio2017で、2回目の...
-
vb ver6 でformat文やTrim文の...
-
VC++6 EXEをDLLに変換
-
C言語、リングバッファについて
-
VB.netを実行するとデバック プ...
-
標準関数が見つからない
-
Visual Studio 2010 のC#で…
-
VC++でDeugモードOKで、Release...
-
「カレントフォルダ以外にある...
-
Sub Main が実行されない
-
VB6.0を使用しています
-
ASP.NETでデバッグができない
-
Excel VBAのデバッグ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
visual studio2019でデバッグが...
-
DLL参照時に指定されたモジュー...
-
Visual studio2017で、2回目の...
-
デバッグとビルドは何が違うの...
-
Eclipseのブレークポイントが○...
-
eclipseでデバックするとエラー...
-
デバッガでステップ実行してい...
-
visual studio 2008 のデバッグ...
-
ソリューションをまたがるデバ...
-
VC++でSQL Serverに接続するに...
-
ブレークポイントは現在の設定...
-
VC++でDeugモードOKで、Release...
-
C言語での開発でエラーが出て困...
-
ダイアログなどの文字列が文字...
-
VB6.0を使用しています
-
VB.netを実行するとデバック プ...
-
eclipseでプログラムが実行でき...
-
VB6 exe作成時のアイコン変更方法
-
Release版のexeが動きません
-
Visual Studio 2010 のC#で…
おすすめ情報
ありがとうございます。
すみません。Sheets.Countってどこをみればわかるのでしょうか?
教えてください。
当方、素人です。やってみて、デバックはでなくなりましたが、保護がかかってない状態になってしまいました。
どのようなコードを書けばいいのでしょうか?
コピーペーストができれば助かります。
でました。「2」になってます。
どうしたらいいのでしょうか?
何度もすみません。
コンパイルエラーとでました。
わかりません・・・
何度もすみません。
コピーペーストでやってみたのですがコンパイルエラーとなります・・・
おはよございます。
ご連絡ありがとうございます。やってみたところ、問題なくBOOKが開けれました。
BOOKの問題のようですね・・・;;
どうすればいいのでしょうか?
ご教授頂けませんか?
お願いします。