如何在 Excel 中使用 VBA 重命名工作表?

您所在的位置:网站首页 修改工作表的名称怎么改 如何在 Excel 中使用 VBA 重命名工作表?

如何在 Excel 中使用 VBA 重命名工作表?

2024-07-02 20:59| 来源: 网络整理| 查看: 265

将新工作表添加到工作簿时,您可以选择为其命名。但您也可以随时使用工作表的 name 属性对其进行重命名。在本教程中,我们将了解使用 VBA 代码重命名一个或多个工作表的不同方法。

使用 VBA 代码重命名工作表的步骤首先,使用工作表对象定义要重命名的工作表。之后,您需要使用 (.Name) 来访问要修改的 name 属性。接下来,键入等号以告诉 VBA 要用于重命名工作表的值。最后,键入您要使用的工作表的名称。 定义要重命名的工作表

有用的链接:运行宏–宏记录器– Visual Basic 编辑器–个人宏手册

重命名活动工作表

如果要重命名活动工作表,在这种情况下,您不需要设置工作表名称,而是需要使用 ActiveSheet 对象,它告诉 VBA 此时引用活动工作表。这是代码。

Activesheet.Name = "mySheet"重命名活动工作表

注意:要重命名工作表,您无需激活它。

使用图纸编号重命名图纸

如您所知,每个工作表都有一个编号,具体取决于其在工作簿中的位置。假设您想重命名第五个数字上的工作表,代码如下。

Sheets(5).Name = "mySheet5"使用工作表编号重命名工作表

当您运行上面的宏时,它会重命名第五个数字上的工作表。

按数字重命名工作表重命名前检查工作表是否存在

如果您尝试重命名不存在的工作表,VBA 将显示错误,如下所示。

重命名之前检查工作表是否存在

此问题的解决方案是以下使用FOR EACH 的代码,它可以循环遍历所有工作表以找到您定义的工作表,然后重命名该工作表。

Sub check_sheet_rename() Dim ws As Worksheet Dim mySheet As String Dim SheetName As String mySheet = InputBox("enter the name of the sheet that you want to rename.") SheetName = InputBox("Enter new name for the sheet.") For Each ws In ThisWorkbook.Worksheets If mySheet = ws.Name Then ws.Name = SheetName End If Next ws End Sub使用单元格或范围的值重命名工作表

您还可以通过获取单元格的值来重命名工作表。假设该值位于单元格 A1 中。

Sheets("Sheet1").name = Range("A1").Value

但假设您想根据一系列单元格中的值命名多个工作表。在这种情况下,您应该有这样的代码。

Sub vba_sheet_rename_multiple() Dim wsCount As Long Dim rCount As Long Dim ws As Worksheet Dim name As Range Dim i As Long wsCount = ThisWorkbook.Worksheets.Count rCount = Range("A1:A10").Rows.Count 'Checks if the count of the names provided is less _ or more than the sheets in the workbook If wsCount rCount Then MsgBox "There's some problem with the names provided." Exit Sub Else 'Check if any of the cells in the name range is empty. For Each name In Range("A1:A10") If IsEmpty(name) = True Then i = i + 1 End If Next name If i > 0 Then MsgBox "There's is a blank cell in the names range." Exit Sub End If End If 'rename each sheet using the value from the range cell by cell. i = 1 For Each ws In ThisWorkbook.Worksheets ws.name = Range("A1:A10").Cells(i, 1).Value i = 1 + i Next ws End Sub

当您运行此 VBA 代码时,它首先检查区域中的单元格是否等于工作簿中的工作表数。之后,它将检查您指定范围内的所有单元格是否都有值。最后使用这些名称重命名所有工作表。

它将使用IF THEN ELSE检查两个条件,然后重命名所有工作表。

什么是VBA相关教程在 Excel 中使用 VBA 清除整个工作表使用 VBA 在 Excel 中复制和移动工作表在 Excel 中使用 VBA 计算 COUNT 个工作表在 Excel 中使用 VBA 删除工作表在 Excel 中使用 VBA 隐藏和显示工作表


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3