首页 > 解决方案 > 重命名 Excel 工作表:名称超过 31 个字符错误

问题描述

下面重命名单个工作簿中的所有工作表。

我收到此错误:

错误

我认为这是由于超出了字符数限制。我有大约 300 个工作表,所以我想做一个If声明,如果LEN名称大于 31,那么它只用前 30 个字符命名文件,其余的则保留。
此外,如果有类似的字符/,\,?,*[,],则应将其替换为空。

Sub RenameSheet()
Dim rs As Worksheet
For Each rs In Sheets
  rs.Name = rs.Range("B2")
Next rs
End Sub

标签: excelvba

解决方案


使用左函数:

Sub RenameSheet()
   Dim rs As Worksheet
   For Each rs In Sheets
      Debug.Print rs.Range("B2")  'print file name before creating file
      rs.Name = Left(rs.Range("B2"), 30)  'first 30 chars only
   Next rs
End Sub

推荐阅读