Code Name的局限性



  • 很多经常用VBA的小伙伴都知道,当我们引用工作页的时候,常常可以用工作页的Code Name
    d1b6aad6-4893-4776-be83-4938f1c327dd-image.png
    (如图,Lec1就是一个Code Name)

    但是,Code Name只适用于引用该工作薄下的工作表的情况,如果是引用另一个工作薄中的工作表,就不好用了。

    有一个博主写了一个Function来用Code Name引用别的工作表中的工作页
    https://yoursumbuddy.com/using-worksheet-codenames-in-other-workbooks/

    Function GetWsFromCodeName(wb As Workbook, CodeName As String) As Excel.Worksheet
    Dim ws As Excel.Worksheet
    
    For Each ws In wb.Worksheets
        If ws.CodeName = CodeName Then
            Set GetWsFromCodeName = ws
            Exit For
        End If
    Next ws
    End Function
    

    用法如下

    Dim wsPivot as Excel.Worksheet
    Set wsPivot = GetWsFromCodeName(Workbooks(“Data.xlsx”), “wsPivot”)
    

登录后回复