マクロに関する質問です。
会社で使うエクセルファイルを作成しており、誤作動わ無くすためマクロを有効にしてから使えるようにコードを書いています。
どういうことかというとマクロを有効にしたらダミーである空白のシートが非表示になり、記入用シートが表示されるようにするつもりです。
ですが実行しようとすると「実行時エラー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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
複数ファイルにある特定のシー...
-
エラーになってないのにVBA...
-
《エクセル2000》非表示になっ...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
【Excel VBA】エラー番号400
-
エクセル グラフの軸の最小値最...
-
Accessのクエリを実行するショ...
-
Excelを開いた時に表示さ...
-
ワードからエクセルへ貼り付け...
-
ExcelVBAで、タイマー割り込み...
-
エクセルに画像を貼付け縮小す...
-
エクセルVBA:エラー時にはマク...
-
ワードで画像を自動で挿入する方法
-
モジュール内のマクロを全て実...
-
AccessのテーブルデータをExcel...
-
エクセルで複数のシートをまと...
-
Excel文字列中の太字(Bold)部分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
Wordで「原稿用紙○枚」を換算す...
-
ワードからエクセルへ貼り付け...
-
エクセルで複数のシートをまと...
-
エクセルのマクロ機能で前のシ...
-
エクセル グラフの軸の最小値最...
-
TeraTermのマクロについて
-
Excelの改ページ 同シート内で...
-
EXCEL 複数のシートの同一の位...
-
ワードで画像を自動で挿入する方法
-
Excelのワークシート上に検索窓...
-
モジュール内のマクロを全て実...
-
Excel2000 データの並べ替えで...
-
Excelマクロでオプションボタン...
おすすめ情報