簡體   English   中英

VBA - 用戶定義的可變工作表名稱

[英]VBA - variable worksheet name user defined

想知道是否有人可以提供幫助,因為我已經多次嘗試在 excel 中創建此功能。

摘要- 最終用戶將適用的背面放置在工作表上指定單元格內的特定單元格中,然后按下宏按鈕復制去年假期跟蹤器並創建新工作表,隨后重命名復制的工作表。

問題- 嘗試聲明有問題的適用工作表變量工作表名稱時,出現類型不匹配錯誤。

感謝有人可以提供幫助嗎?

在聲明有問題的工作表時,以下代碼是絆腳石。

Sub test()

Dim ws as worksheet
Dim wsn as string

wsn = sheets("procedures").range("a1").value
Set ws = wsn

ws.activate

End sub

哇,好啰嗦。

將適用的背面放在工作表上指定單元格內的特定單元格中

那是什么意思?

您是否嘗試添加工作表並使用單元格 A1 中的值為其命名?
如果 A1 包含可用作工作表名稱的文本,這將完成這項工作。

Sub test()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Worksheets.Add

    ws.Name = Sheets("procedures").Range("a1")

    ws.Activate

End Sub

編輯:
此代碼將復制在范圍 A1 中命名的工作表,為其指定一個新名稱並設置對其的引用。

Sub test()

    Dim ws As Worksheet
    Dim wsn As String

    With ThisWorkbook
        wsn = .Worksheets("procedures").Range("a1")
        'Code to check the name is valid & the worksheet exists.
        '....

        'Unfortunately you can't set a reference while copying,
        'so copy it to before the first sheet and then reference the first sheet.
        .Worksheets(wsn).Copy Before:=.Worksheets(1)
        Set ws = .Worksheets(1)
    End With

    ws.Name = "Some Other Sheet Name"

    ws.Activate

End Sub

暫無
暫無

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

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