我有以下VBA代码:
Sub test()
Dim Variable As String
Variable = Sheet1.Range("A1").Value
Sheet2.Select
Range(Variable).Select
End Sub
Value in cell A1 = B2:B3
到目前为止,代码完美无缺。现在我想把“Sheet2”部分作为一个变量,就像我对该范围一样。我想将内部工作表名称写入excel单元格以使其变量。到目前为止,我尝试了以下方法,但它没有用。
Sub test()
Dim Variable As String
Variable = Sheet1.Range("A1").Value
Variable2 = Sheet1.Range("A2").Value
Variable2.Select
Range(Variable).Select
End Sub
Value in cell A1 = B2:B3
Value in cell A2 = Sheet2
你知道如何解决这个问题吗?
感谢您提前提供任何帮助。
答案 0 :(得分:1)
Sheets(Variable2).Range(Variable).Select
修改强>
如果您想通过输入代号来获取Sheetname,请使用这样的函数返回正确的工作表名称:
Function getSheet(codename_ As String) As String
'returns the Sheet name corresponding to the Codename
Dim ws As Worksheet
For Each ws In Worksheets
If ws.codename = codename_ Then
getSheet = ws.Name
Exit Function
End If
Next ws
End Function
然后您可以像Sheets(getSheet("CODENAME")).Select
答案 1 :(得分:-1)
尝试以下代码
Sub test()
Dim Variable As String
Variable = Sheet1.Range("A1").Value
Variable2 = Sheet1.Range("A2").Value
Worksheets(Variable2).Select
Range(Variable).Select
End Sub
编辑 - 1
Sheets(Val(Replace(variable2, "Sheet", ""))).Select