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

时间:2016-12-08 20:18:09

标签: excel vba

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

sum(((Column Number -->)"I" & myMatch & ("I"& myMatch)

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

Answer = ""M3:AM3""

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

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

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

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

1 个答案:

答案 0 :(得分:0)

我认为你的错误是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)

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