0
對於我的工作簿,當用戶想要刪除項目的選項卡時,他們將PRJNumber放在程序選項卡的單元格T14中。該項目編號有各種其他標籤,作爲名稱的最後6位數字(例如,A_PRJNumber,B_PRJNumber等)。所有PRJNumbers都是6位數字。下面的代碼應該工作,兩個msgboxes表明它正在讀取單元格T14中的6位數字和正確的標籤名稱,但它不會刪除標籤或給我任何錯誤。想法?VBA Excel:刪除具有特定名稱的工作表
Sub Delete_Project()
Dim wks As Worksheet
Dim PRJNumber
PRJNumber = Sheets("Program").Range("T14").Value
MsgBox (PRJNumber)
For Each wks In ActiveWorkbook.Worksheets
MsgBox (Right(wks.Name, 6))
If Right(wks.Name, 6) = PRJNumber Then
wks.Delete
End If
Next wks
End Sub
使第二個消息框執行此操作:'MsgBox(Right(wks.Name,6)= PRJNumber)'。它是否說「真」或「假」? – 2014-10-17 18:50:01
我懷疑是T14包含一些額外的空間/等。 'MsgBox「Hello」'看起來與'MsgBox「Hello」'相同,但是值不一樣。 – 2014-10-17 18:51:06
你可以做'PRJNumber = Trim(表格(「程序」)。範圍(「T14」))'這應該解決它我認爲。 – 2014-10-17 18:52:25