繁体   English   中英

使用字符串变量分配工作表范围

[英]Assign worksheet range using a string variable

我有一个分配了以下值的字符串变量:

Answer = ""M3:AM3""

我想将此变量分配给Range,如下所示:

DIM xlRange As Excel.Range
Set xlRange = xlApp.Sheets("Sheet1").Range(Answer)

这将生成错误“应用程序定义的错误或对象定义的错误”

我还尝试了以下操作,使用该范围的变量粘贴值,并得到相同的错误:

xlApp.Sheets("Sheet1").Range(Answer).PasteSpecial xlPasteAll

有人可以帮我解决这个问题吗? 谢谢。

我认为您的错误是未定义的xlApp:

DIM xlApp as Excel.Application

如果已经定义了它,那么问题在于双引号,这对VBA毫无意义。 另外,您还有另一个问题是层次结构:

 xlApp.Sheets("Sheet1").Range(Answer)

在xlApp之后,您必须定义一个WORKBOOK,而不是WORKSHEET。 所以您也需要提供Sheet1的工作簿

所以假设:

Answer="M3:AM3"

你可以写:

 Set xlApp = Application
 Set xlRange = xlApp.ActiveWorkbook.Sheets("Sheet1").Range(Answer)

如果您肯定知道工作簿的名称,则可以将ActiveWorkbook替换为Workbooks(“ MyWorkbookName”)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM