簡體   English   中英

Excel-工作表名稱等於單元格(但為工作表命名的單元格都在同一工作表中)

[英]Excel - sheet names equal to cell (but the cells giving name to the sheets are all in the same sheet)

我想知道是否可以使工作表名稱等於一個工作表的特定單元格。

例如:

我有一張叫名字的表

A1 = Name1

A2 = Name2

A3 = Name3

A4 = Name4

A5 = Name5

因此,工作表名稱應基於這五個值

Sheet2 = Name1

Sheet3 = Name2

Sheet4 = Name3

Sheet5 = Name4

Sheet6 = Name5

VBA是否可以?

預先感謝您的任何幫助。

Sheets(#).Name = Range("cell location").Value

#表示工作表索引號, cell locationcell location的地址(例如A2E17

您將要對此進行一些錯誤處理,因為如果已經有一個具有相同名稱的工作表,它將出錯:

On Error Resume Next
Sheets(#).Name = Range("cell location").Value
If Err.Number > 0 Then
    Err.Clear
    Msgbox Range("cell location").Value & " name already exists!"
End If

您可以使其觸發事件。

1)將以下代碼放在“名稱”選項卡的工作表對象中。

2)將所有工作表代碼名稱放在第一列的“名稱”工作表中(無標題)。

3)將您選擇的選項卡名稱放在第二欄中。

當您更改第二列中的值時,工作表名稱應自動更改。

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim sheetName As String
    Dim sheetCodeName As String

    If Target.Column = "2" Then
        sheetName = Target.value
        sheetCodeName = Target.Offset(0, -1).value

        For Each Sheet In ActiveWorkbook.Worksheets
            If Sheet.CodeName = sheetCodeName Then

                On Error GoTo INVALIDCOLUMNNAME:
                Sheet.name = sheetName
                On Error GoTo 0

            End If

        Next Sheet

    End If

Exit Sub

INVALIDCOLUMNNAME:
msgbox "Invalid Column Name"

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM