
マクロに関する質問です。
会社で使うエクセルファイルを作成しており、誤作動わ無くすためマクロを有効にしてから使えるようにコードを書いています。
どういうことかというとマクロを有効にしたらダミーである空白のシートが非表示になり、記入用シートが表示されるようにするつもりです。
ですが実行しようとすると「実行時エラー32809」が出てエラーになります。
コードは下記の通りです。this work bookに記載しています。
Private Sub Workbook_Open()
With Worksheets("記入用")
.Visible = True
.Activate
End With
Worksheets("ダミー").Visible = False
End sub
ちなみにシート名を(1)や(2)にすればエラー発生せず動作はしますが、どのシートも表示非表示されず何も変わりません。
何が原因なんでしょうか?どうすれば改善できるでしょうか?
回答よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>マクロを有効にしたらダミーである空白のシートが非表示になり、記入用シートが表示されるようにするつもりです。
マクロを有効しない場合、ダミー・シートが出るというロジックが抜けています。
マクロなしで、内部のマクロを動かすことは不可能です。
ただ、以下のマクロは、何度も確認していますが、残念ながら、うまくいかないとおっしゃってくる人がいます。それは、設定上の問題です。
原因は、オプション・セキュリティセンターの設定の「信頼できる場所」においている限りは、マクロを拒否することはできませんから、設定のない場所で起動していただくしか判別できないです。
それから、ダミーと記入用の切り替わりは、一瞬見えてしまうようです。
'//ThisWorkbook モジュール
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.Saved Then Exit Sub
Select Case MsgBox(Me.Name & " の変更を保存しましすか?", vbExclamation + vbYesNoCancel)
Case vbYes
Application.ScreenUpdating = False
Me.Worksheets("記入用").Visible = False
Me.Worksheets("ダミー").Visible = True
Me.Worksheets("ダミー").Select
Application.EnableEvents = False
Me.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
Case vbNo
Me.Saved = True
Case vbCancel
Cancel = True
End Select
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Me
Application.ScreenUpdating = False
.Worksheets("記入用").Visible = False
.Worksheets("ダミー").Visible = True
.Worksheets("ダミー").Select
Application.ScreenUpdating = True
Application.EnableEvents = False
Me.Save
Application.EnableEvents = True
End With
Cancel = True
Me.Saved = True
End Sub
Private Sub Workbook_Open()
With Me
Application.ScreenUpdating = False
.Worksheets("記入用").Visible = True
.Worksheets("ダミー").Visible = False
.Worksheets("記入用").Select
Application.ScreenUpdating = True
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数ファイルにある特定のシー...
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
エクセル グラフの軸の最小値最...
-
エラーになってないのにVBA...
-
Wordの画面を左右にスクロール...
-
EXCELのセルへ、デジタル時計を...
-
Excel マクロの自動実行と編集作業
-
エクセルのマクロボタンがどん...
-
エクセルのマクロ機能で前のシ...
-
TeraTermのマクロについて
-
texのカウンターについて
-
Excelの改ページ 同シート内で...
-
エクセルで複数のシートをまと...
-
秀丸エディタに検索履歴を記憶...
-
エクセルのマクロショートカッ...
-
MSWord のマクロ修正のお願い
-
エクセルでマクロ実行中に任意...
-
Excelを開いた時に表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
Wordの画面を左右にスクロール...
-
エクセル グラフの軸の最小値最...
-
EXCEL 複数のシートの同一の位...
-
モジュール内のマクロを全て実...
-
エクセルのマクロ機能で前のシ...
-
開いているフォルダを全て閉じ...
-
エクセルで複数のシートをまと...
-
マクロボタンをある条件の時に...
-
VBAでEXCELに埋め込んだPDFを開...
-
マクロボタンを作ってのマクロ...
-
【Excel VBA】エラー番号400
-
EXCEL2000 VBA マクロ実行中に...
-
【エクセル】 キーを押すと、...
おすすめ情報