2013-08-28 54 views
0
Sub deleteemptysheets() 
Dim sh As Worksheet, wb As Workbook, c As Range 
sh = Sheets(wb.Sheets) 
    For Each c In wb.Sheets 
     If IsEmpty(sh.UsedRange) Then 
      sh.Delete 
     End If 
    Next 
Set sh = Nothing 
Set wb = Nothing 
Set c = Nothing 
End Sub 

問題:我試圖刪除空白工作表,但我無法獲得確切的代碼。任何人都可以幫助我在這種情況下?謝謝。如何刪除給定工作簿中的空白工作表?

回答

1

您沒有定義wb來自哪裏,並且您沒有使用sh來遍歷工作表。

我假設你想遍歷活動工作簿中的工作表。如果是這樣,你不需要wbc。試試這個:

Sub deleteemptysheets() 
    Dim sh As Worksheet 
    For Each sh In ActiveWorkbook.Sheets 
     If IsEmpty(sh.UsedRange) Then 
      sh.Delete 
     End If 
    Next 
    Set sh = Nothing 
End Sub 
+0

我想通過給Inputbox從不同的工作簿中選擇工作表。 – Sevak

+0

好吧,那麼請更新與被調用deleteemptysheets() – Joe

+0

子刪除() 昏暗SH作爲工作表,世行作爲工作簿,C爲靶場 WB =的InputBox(「工作簿名稱」) SH = WB的代碼你的問題.Sheets 關於C在SH 如果爲IsEmpty(sh.UsedRange)然後 sh.delete 結束如果 接下來 末次 – Sevak

相關問題