• 締切済み

エクセルファイルの有効期限の設定について

エクセルのファイルに有期限を設定し、期日が来たら特定の "Seet"を削除してしまい、利用に値しない物にする。 このようなプログラムを作りたいのですが、他の方の質問を 参考に、流用して、いろいろやってみたのですが、どうもうまく行きません。 どなたかお知恵をお貸しください。 よろしくお願いたします。 This Workseet Openのプログラム中には、次の構文が入っています。 メッセージBOXを表示するまではうまく行きましたが、それ以降で 行き詰まっております。 ----------------- Private Sub Workbook_Open() Dim i As Integer, j As Integer, k As Integer Dim Start As Integer, Finish As Integer Dim Lbl As Variant Dim Cmb(4) As ComboBox Lbl = Array("札幌", "函館", "福島", "新潟", "東京", "中山", "中京", "京都", "阪神", "小倉") With Sheet1 .ListBox1.Clear .ListBox1.Font.Size = 10 For i = 0 To 9 .ListBox1.AddItem Lbl(i) Next .ListBox1.ListIndex = 4 Set Cmb(1) = .ComboBox1: Set Cmb(2) = .ComboBox2 Set Cmb(3) = .ComboBox3: Set Cmb(4) = .ComboBox4 Lbl = Array("", "開催年", "開催月", "開催日", "発走") For i = 1 To 4 Cmb(i).Clear Cmb(i).Font.Size = 10 Cmb(i).AddItem Lbl(i) Next Select Case Sheet1.Range("E4") Case 2003 To 2999: Start = Sheet1.Range("E4") Case Else: Start = 2003 End Select Select Case Sheet1.Range("F4") Case 2003 To 2999: Finish = Sheet1.Range("F4") Case Else: Finish = 2003 End Select k = 0 For i = Start To Finish k = k + 1 .ComboBox1.AddItem i If .ComboBox1.List(k) = Format(Date, "yyyy") Then .ComboBox1.ListIndex = k End If Next For i = 1 To 12 .ComboBox2.AddItem Format(i, "00") Next For i = 1 To 31 .ComboBox3.AddItem Format(i, "00") Next For i = 1 To 12 .ComboBox4.AddItem Format(i, "00") Next .ComboBox2.ListIndex = Month(Date) .ComboBox3.ListIndex = Day(Date) .ComboBox4.ListIndex = 1 End With MsgBox ("使用期限は 2009/9/18です")

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

#1です。コードが1つもれてました。 シート削除の後に、 Application.DisplayAlerts = True で、アラート設定を元に戻しておいてください。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

日付を判断して削除ではだめなんですか? If Date > #9/18/2009# Then Application.DisplayAlerts = False Sheets("Sheet1").Delete End If

sato35
質問者

お礼

ありがとうございました! "ばっちり" うまく行きました。

関連するQ&A