前に、http://oshiete1.goo.ne.jp/qa4352149.html
で質問させて頂きました。
その節は、お世話になりありがとうございました。
今回は、前回と似たようなものですが、
少々条件を変更したマクロを作成したいので
ご協力のほど、何卒よろしくお願い致します。
文末にマクロを記述いたしますが、そちらは、
指定した日付以降にエクセルのファイルを開くと
シートがすべて削除されて、「有効期限切れ」という
シートだけが出てくるというものです。
今度は例えば「SheetA」、「SheetB」、「SheetC」という
3つのシートがあったとして、
指定した期日が来たら、「SheetC」だけを削除したいのです。
条件があり、「SheetC」は、マクロを有効にしないと使用できないようにしたいのです。
やり方をご存知の方、ご教示のほど
何卒よろしくお願い致します。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
endsheetname = "有効期限切れ"
If (Sheets.Count = 1) And (Sheets(1).Name = endsheetname) Then Exit Sub
If Sheets("SheetA ").Visible Then Sheets("SheetC ").Visible = xlVeryHidden
End Sub
Private Sub Workbook_Open()
endsheetname = "有効期限切れ"
If Date >= "3008/09/29" Then
Application.DisplayAlerts = False
If Sheets.Count = 1 Then
If Sheets(1).Name <> endsheetname Then
Sheets.Add(After:=ActiveSheet).Name = endsheetname
End If
Else
On Error Resume Next
Sheets(endsheetname).Delete
On Error GoTo 0
Sheets.Add(After:=ActiveSheet).Name = endsheetname
End If
sheetnumber = Sheets.Count
For i = 1 To sheetnumber
For j = 1 To 2
If Sheets.Count = 1 Then Exit For
If Sheets(j).Name = " SheetC " Then If Not Sheets("SheetC ").Visible Then Sheets("SheetC ").Visible = True
If Sheets(j).Name <> endsheetname Then Sheets(Sheets(j).Name).Delete: Exit For
Next
Next
Range("b" & 3).Value = "ご利用ありがとうございました。"
ActiveWorkbook.Save
Application.DisplayAlerts = True
End If
If (Sheets.Count = 1) And (Sheets(1).Name = endsheetname) Then Exit Sub
If Not Sheets(" SheetC ").Visible Then Sheets(" SheetC ").Visible = True
End Sub
>条件があり、「SheetC」は、マクロを有効にしないと使用できないようにしたいのです。
マクロを有効にしないと使用できないのは、当たり前のような???
よく分かりませんが、禁止事項の丸投げ・依頼もよく読んでね
と言うわけで、サンプルです
期日が過ぎていれば"Sheet3"を削除
Sub test()
Dim sh As Worksheet
Application.DisplayAlerts = False
If Date >= "2008/09/29" Then
For Each sh In Worksheets
If sh.Name = "Sheet3" Then sh.Delete
Next sh
End If
Application.DisplayAlerts = True
End Sub
こんな感じでは?
アレンジはご自分で
以上
お礼
hige_082様 ご回答ありがとうございました。 大変申し訳ございませんが、 私の知識レベルでは 理解不能でした。 ご協力ありがとうございました。 大変感謝しております。 せっかくですが、解決できかねておりますので、 もう一度同じ質問をさせて頂こうと思います。
補足
hige_082様 ご回答ありがとうございます。 小生の舌足らずでご迷惑をおかけして申し訳ないです。 補足させて頂きますと、 期日が来たらSheetCを削除したいのですが、 マクロを無効にされてしまうと 期日が来てもSheetCが削除されずに 残ってしまっては困るのです。 そこで、マクロを有効にしないと SheetCが現れないようにしたいのです。 (小生の提示させて頂いた マクロは、そのようになっております) また、私マクロはズブの素人でして、 アレンジができるような技術を持ち合わせておりません。 誠に恐縮ではございますが、 小生からお伝えしたマクロの代わりに コピー貼り付けですむような形で ご教示頂けませんでしょうか。 不躾なお願いで申し訳ございませんが、 お力お貸し頂けませんでしょうか。 宜しくお願い致します。