dポイントプレゼントキャンペーン実施中!

エクセルのファイルに有期限を設定し、期日が来たら特定の
"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です")

A 回答 (2件)

#1です。

コードが1つもれてました。

シート削除の後に、
Application.DisplayAlerts = True
で、アラート設定を元に戻しておいてください。
    • good
    • 0

日付を判断して削除ではだめなんですか?



If Date > #9/18/2009# Then
Application.DisplayAlerts = False
Sheets("Sheet1").Delete
End If
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/19 02:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!