如何为 Excel 工作表赋予重复的名称/标题?

如何为 Excel 工作表赋予重复的名称/标题?

有没有办法给 Excel 工作表赋予与其名称不同的标题/标题/标签?(如果相关,则通过 OLE 自动化。)

原因是我可能有一些名称只是大小写不同,所以我不能将它们用作 Worksheet.Name。但我不需要从 VBA 引用它们,我只是希望用户看到它们。

编辑:我想改变这些字符串: 截屏

音乐2年对我的问题有更好的解释:

Excel 对给定名称强制执行不重复策略,并且给定名称是可见名称。

我的问题是:我可以使用与名字不同的可见名字吗?

答案1

您不能将工作表选项卡上的可见标题/标签设置为与实际标题/标签不同。Excel 对给定名称强制执行不重复策略,并且给定名称是可见名称。

但是,在 VBA 中,您不一定必须使用给定的名称来引用工作表。

http://www.techrepublic.com/blog/10-things/10-ways-to-reference-excel-workbooks-and-sheets-using-vba/我们了解到,我们可以通过工作表的索引(取决于工作表的顺序)或代码名称属性来引用工作表。

指数:

当您不关心特定工作表而只关心其数量或顺序时,索引值会派上用场。当然,这不是一项常见任务,但偶尔,通过索引值引用会派上用场。以下过程根据您想要的工作表数量添加和删除工作表:

Function ControlSheetNumber(intSheets As Integer)

  'Add or delete sheets to equal intSheets.

  Application.DisplayAlerts = False

  'Delete sheets if necessary

  While Worksheets.Count > intSheets

    Worksheets(1).Delete

  Wend

  'Add sheets if necessary

  While Worksheets.Count < intSheets

    Worksheets.Add

  Wend

  Application.DisplayAlerts = True

End Function

代号 名称 属性:

通过工作表选项卡上的名称引用 Worksheet 对象的代码有生成错误的风险。这是因为您必须记住在更改工作表名称时更新代码。这不仅会带来很多麻烦,而且用户还容易更改工作表的名称。保护通过名称引用特定工作表的代码的一种方法是使用 CodeName 属性。代码名称是工作表的默认名称,由 Excel 在创建工作表时指定 - Sheet1、Sheet2 等等。更改工作表选项卡上显示的工作表名称不会更改其代码名称,如图 D 所示。括号中的名称是工作表名称(如工作表选项卡上所示)。请注意,即使您更改了工作表名称,默认名称(代码名称)仍保持不变。

答案2

您可以在工作表名称末尾添加一个空格,以将其区分开。这样,“Sheet1”对用户来说看起来与“SHEET 1”相同。

答案3

不幸的是,答案是否定的。您不能拥有两个同名的电子表格。

在此处输入图片描述


我可以建议使用 VBA 的解决方法

Sub AutomateSpreadSheetName()
    Dim name1 As String
    name1 = "Sheet1" 'note Sheet1 already exists
    RenameIfExist name1
End Sub

Private Sub RenameIfExist(name1)
    Dim ws As Worksheet
    For Each ws In Sheets
        If ws.Name = name1 Then
            ws.Name = name1 & Chr(32) & Int(Rnd() * 10)
            RenameIfExist name1
            Exit Sub
        End If
    Next
End Sub

您可以在变量中设置名称name1。如果名称存在于工作表集合中,则当前工作表将重命名为 0 到 9 之间的随机数字

相关内容