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