【问题标题】:Rename Excel Sheet with VBA Macro使用 VBA 宏重命名 Excel 工作表
【发布时间】:2016-07-20 16:50:24
【问题描述】:

我想询问有关重命名 excel 工作表的问题,我想用新名称重命名工作表:旧名称 + _v1。

所以如果我当前的工作表名称是 test,那么我想要新名称 test_v1

我只知道重命名 excel 工作表的标准 vba,它通过工作表内容重命名 excel 工作表。

Sub Test()

Dim WS As Worksheet

For Each WS In Sheets
   WS.Name = WS.Range("A5")
Next WS
End Sub

【问题讨论】:

  • WS.Name = WS.Name & "_v1"
  • @TimWilliams 你能把这个添加为答案吗

标签: vba excel


【解决方案1】:

“没有多余的装饰”选项如下:

ActiveSheet.Name = "New Name"

Sheets("Sheet2").Name = "New Name"

您还可以查看录制宏并查看它为您提供的代码,这是开始学习一些更普通的功能的好方法。

【讨论】:

    【解决方案2】:

    应该这样做:

    WS.Name = WS.Name & "_v1"
    

    【讨论】:

      【解决方案3】:

      建议您添加处理以测试要重命名的工作表是否已存在:

      Sub Test()
      
      Dim ws As Worksheet
      Dim ws1 As Worksheet
      Dim strErr As String
      
      On Error Resume Next
      For Each ws In ActiveWorkbook.Sheets
      Set ws1 = Sheets(ws.Name & "_v1")
          If ws1 Is Nothing Then
              ws.Name = ws.Name & "_v1"
          Else
               strErr = strErr & ws.Name & "_v1" & vbNewLine
          End If
      Set ws1 = Nothing
      Next
      On Error GoTo 0
      
      If Len(strErr) > 0 Then MsgBox strErr, vbOKOnly, "these sheets already existed"
      
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多