我有一個帶有許多選項卡的excel文件。所有標籤名稱如:「pboro bz.csv」,「pboro fd.csv」,「pboro ha.csv」等。VBA刪除excel標籤名稱的前綴
我正在尋找重命名所有這些「bz.csv」,「fd .csv「,」ha.csv「代替。
此外,根據另一個VBA導入的數據,選項卡名稱可能具有不同的前綴。因此,我在標題爲「設置」與我想刪除,在這種情況下,前綴「pboro」
我試圖用這個代碼片單元(B8):
Sub RemovePrefix()
Dim WS As Worksheet
Dim Val As String
Val = Setup.Range("B8").Value
Const Prefix As String = Val
For Each WS In Worksheets
If WS.Name Like Prefix & "*" Then WS.Name = Mid(WS.Name, Len(Prefix) + 1)
Next
End Sub
代碼上線
Const Prefix As String = Val
與錯誤崩潰「常量表達式要求」
我懷疑這是因爲我使用的昏暗與瓦爾,然後用Prexif常量。 然而,當我的代碼適應如下:
Sub RemovePrefix()
Dim WS As Worksheet
Dim Val As String
Val = Setup.Range("B8").Value
For Each WS In Worksheets
If WS.Name Like Val & "*" Then WS.Name = Mid(WS.Name, Len(Val) + 1)
Next
End Sub
我收到錯誤「所需的對象」關於我行代碼
Val = Setup.Range("B8").Value
我不確定我要去的地方錯了(並且是一個相對的VBA noob可能沒有幫助)。
問題1:「const」只能設置爲const,而Val不是。所以,代碼將永遠不會工作。你的第二次嘗試是更好的,但在這裏我懷疑問題2「安裝程序」不是你的工作表之一的代碼名稱? –