請問
我設定data陣列中的索引值為欲刪除的工作表名稱
並希望用for迴圈與if來判斷所指定的工作表是否存在
若存在則刪除
若不存在則跳出if到for 使其重新判斷
執行時在 If s1.Name = data Then 這一行發生錯誤
出現 此處需要物件 (錯誤 424)
該如何修改程式碼呢
程式碼如下所示
十分感謝
Public Sub 刪除多餘工作表()
data = Array("資料1", "資料2", "資料3", "資料4", "資料5", "資料6", "資料7", "資料8", "連結0", "連結1", "連結2", _
"連結3", "連結4", "連結5", "連結6", "連結7", "連結8", "連結9", "SERIES及PF比較可列印", "SERIES 比較貼上", _
"記錄表轉換標籤", "來年紀錄可貼上")
For s1 = 0 To 21
If s1.Name = data Then
Application.DisplayAlerts = False
s1.Delete '刪除s1
Application.DisplayAlerts = True
End If
Next
End Sub作者: mark15jill 時間: 2015-8-7 18:25
For i = Sheets.Count To 1 Step -1 '請問此行是否將工作表最大值-1
For J = LBound(data) To UBound(data) '此行是否將所設的陣列變數帶入 找出最大到最小
If Sheets(i).Name = data(J) Then '再比對工作表與陣列變數
Application.DisplayAlerts = False '若一樣則關閉警告視窗
Sheets(i).Delete'並刪除
Application.DisplayAlerts = True '再將警告視窗打開
aList$ '請問這是宣告要放字串的地方嗎
aList = Join(Data, ",")'好像是透過自我定義的陣列變數中傳回多個字串
For ts = Sheets.Count To 1 Step -1 '將工作表的最大值-1
If InStr(aList, Sheets(ts).Name) Then '當陣列變數中的字串等於工作表的名稱時
Sheets(ts).Delete ' 刪除該工作表
End If
Next
Application.DisplayAlerts = True'for迴圈跑完即把警告視窗打開