Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


31162 / 76732 ←次へ | 前へ→

【50825】Re:有効期限を設けたい
発言  Jaka  - 07/8/17(金) 10:27 -

引用なし
パスワード
   前に目安箱に載せようと思って書いた途中物まんまですが。

・マクロを無効で開かれたくない。

マクロを無効で開かせたくないテクニックで、ダミーシート1枚作っておいて、マクロを無効で開かれたときは、ダミーシートしか表示されてない方法があります。
でも、この方法の欠点というか、ブックを閉じる時に必ず上書き保存する方法しか紹介されてません。
私もこの方法を書いてきたわけですが、どうにも必ず上書き保存されてしまうというのが気に食わないのです。

何も手を加えてない状態に戻したい時などありませんか?
それを何とか可能にしてみました。
保存時にダミーシートが短い時間?表示されてしまうけど....。
やはり、ダミーシート(シート名「ダミー」)は必要です。
また、環境、PCスペック、ファイルサイズによって、保存時の時間差が出るとうまくいかないとも思いますが....。


標準モジュール

Dim ACBk As String

Sub Auto_Open()
Call 表示
End Sub

Private Sub 表示()
Application.ScreenUpdating = False
For Each Ws In ThisWorkbook.Sheets
  If Ws.Name <> "ダミー" Then
    Ws.Visible = True
  End If
Next
With Sheets("ダミー")
  .Visible = xlVeryHidden
  If .Range("IV1").Value <> "" Then
   On Error Resume Next
   Sheets(.Range("IV1").Value).Activate
   Err.Clear
   On Error GoTo 0
  End If
End With
Application.ScreenUpdating = True
End Sub

'------------------
Thisworkbookモジュール

Dim Flg As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Flg = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Ws As Worksheet, FM As Object 'UserForm XX
Application.ScreenUpdating = False
For Each Ws In ThisWorkbook.Sheets
  If Ws.Name = "ダミー" Then
    Ws.Range("IV1").Value = ActiveSheet.Name
    Ws.Visible = True
  Else
    Ws.Visible = xlVeryHidden
  End If
Next
If Flg = False Then
  '一応ここら辺が保存時の時間差が出るところ。
  Application.OnTime Now + TimeValue("00:0:01"), "表示"
End If
Flg = False
Application.ScreenUpdating = True
End Sub
1 hits

【50819】有効期限を設けたい ichi 07/8/17(金) 9:33 質問
【50821】Re:有効期限を設けたい neptune 07/8/17(金) 9:51 発言
【50822】Re:有効期限を設けたい ichi 07/8/17(金) 10:03 お礼
【50825】Re:有効期限を設けたい Jaka 07/8/17(金) 10:27 発言
【50827】Re:有効期限を設けたい ichi 07/8/17(金) 10:41 発言
【50829】Re:有効期限を設けたい ponpon 07/8/17(金) 11:02 発言
【50830】Re:有効期限を設けたい ichi 07/8/17(金) 11:27 発言
【50831】やっぱりバグがあった。 Jaka 07/8/17(金) 11:34 発言
【50826】Re:有効期限を設けたい neptune 07/8/17(金) 10:35 回答
【50828】Re:有効期限を設けたい ichi 07/8/17(金) 10:56 お礼

31162 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free