簡體   English   中英

在Excel VBA VLookup中為工作表名稱使用變量

[英]Using variable for sheet name in excel VBA VLookup

Private Sub UpdateBoxes()
    Dim wsFunc As WorksheetFunction: Set wsFunc = Application.WorksheetFunction
    Dim sheet As String
    If Range("C1") = "some string" Then
        sheet = "SomeSheet"
    End If

    Range("B6").Value = Sheets("Spreadsheet Ctrl").Range("B7") 'Sets title of Box 1 based on Spreadsheet Ctrl
    Range("G6").Value = Sheets("Spreadsheet Ctrl").Range("C7") 'Sets title of Box 2 based on Spreadsheet Ctrl
    Range("B11").Value = Sheets("Spreadsheet Ctrl").Range("D7") 'Sets title of Box 3 based on Spreadsheet Ctrl
    Range("G11").Value = Sheets("Spreadsheet Ctrl").Range("E7") 'Sets title of Box 4 based on Spreadsheet Ctrl
    Range("B16").Value = Sheets("Spreadsheet Ctrl").Range("F7") 'Sets title of Box 5 based on Spreadsheet Ctrl
    Range("G16").Value = Sheets("Spreadsheet Ctrl").Range("G7") 'Sets title of Box 6 based on Spreadsheet Ctrl

    Range("C7").Value = wsFunc.VLookup(B6,'" & sheet & '"!A1:G5,3,)" 'Vlookup for "Current Revision
End Sub

變量“工作表”最終將基於嵌套的if進行更改。 然后應將其傳遞到End Sub之前的最后一行代碼。 我收到一個指出“ Expected:expression”的編譯錯誤,並突出顯示了'" & sheet & '"的第一個刻度。

就像是:

Range("C7").Value = wsFunc.VLookup(ActiveSheet.Range("B6"), _
                                   Sheets(sheet).Range("A1:G5"),3,False)

暫無
暫無

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

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