如何将工作表和范围传递给variables?

我想在子程序之间传递表单和范围的名字。 以下引发“下标超出范围”错误:

Sub This() x = "Sheet1" y = "D3" MsgBox (x.Range(y).Value) End Sub 

这是我的项目资源pipe理器的一个样本 。

在这里输入图像说明

您的工作表的.Name属性是Valuation ; 其工作表.CodeName属性是Sheet1

 dim x as string, y as string dim xx as worksheet, yy as range x = "Valuation" set xx = worksheets(x) y = "D3" set yy = xx.range(y) debug.print yy.address(0,0, external:=true) '<~~returns Valuation!D3 (with the workbook name) debug.print Sheet1.name '<~~returns Valuation from CodeName