2016-07-18 48 views
1

我想給單元格命名我的工作表(064149107)。名稱不能更改,並且工作簿中有許多工作表。插入工作表名稱從0開始到單元格

我的代碼工作時,我的工作表的名稱始於0

例如,而不是064149107我得到的細胞64149107除罰款。

,因爲我在這之後做一個VLOOKUP,我沒有發現匹配和錯誤2042

這裏是我的代碼:

sht.Cells(LastRowsht + 1, 2) = sht.Name 

我也試過這樣:

  If Left(sht.Name, 1) = "0" Then 'règle le probleme d'un sheet name commencant par 0 
      sht.Cells(LastRowsht + 1, 2) = "0" & sht.Name 
      Else 
      sht.Cells(LastRowsht + 1, 2) = sht.Name 
      End If 

但我沒有工作。

+0

我在猜測Excel將字符串轉換爲數字。只需將該值保存爲一個字符串即可。 – Comintern

+0

請注意,您並不需要VBA將表格名稱放入單元格中。 – trincot

回答

1

此代碼會在名稱前面打勾'字符。

sht.Cells(LastRowsht + 1, 2).Value = chr(39) & sht.Name 

或者,您可以將單元格的格式設置爲Text第一:

sht.Cells(LastRowsht + 1, 2).NumberFormat = "@" 
sht.Cells(LastRowsht + 1, 2).Value = sht.Name 
+0

如果這適用於您,請接受綠色選中標記。 – Chrismas007

+0

謝謝,完美 – Florian

+0

@Florian請接受帶有綠色複選標記的答案。 – Chrismas007

0

你能不能試着這麼做:

sht.Cells(LastRowsht + 1, 2).Value = "'" & sht.Name 

我還沒有嘗試過,但由明確說明文本我認爲它應該工作。

0

您只需在「編號」選項卡中通過功能區「主頁」更改單元格的格式,然後通過「文本」更改「常規」。然後再次運行代碼。

但請注意,您不需要VBA來填寫單元格中的工作表名稱。這可以通過內嵌公式完成:

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255) 
相關問題