字符串的VBA范围 [英] VBA Range from String
问题描述
Dim range1 as范围
Dim mysheet as String
Dim myrange as String
mysheet =Sheet1
range =A1:A10
range1 =工作表(mysheet).Range(myrange)
我测试了我所有的解决方案在互联网上找到,例如这个,此和,但没有什么,http://anthony-vba.kefra.com/forum/viewtopic.php?t=1917&sid=efca1b5454c7f98554a3ed908b7b3bdarel =nofollow noreferrer
所有的时间都给我错误:1004应用程序定义的错误或对象变量或未设置。
我尝试过以下操作:
range1 = ThisWorkbook.Worksheets(mysheet).Range(myrange)
range1 = ActiveWorkbook.Worksheets(mysheet).Range(myrange)
range1 = Sheets(mysheet).Range(myrange)(和上面的组合)
range1 =工作表(mysheet).Range(Cells(1,1),Cells(1,10))(以及与此/活动工作簿的组合)
和
与此/ ActiveWorkbook
range1 = 。工作表(mysheet).Range(myrange)
结束
没有工作。 / p>
这是一个非常愚蠢的事情,但我已经停了一段时间了:s
有谁可以帮助我吗?
提前感谢。
祝福,
你需要使用Set来分配对象:
设置range1 =工作表(mysheet).Range(myrange)
This is kind of silly, but I've been stuck for a while in this simple statement:
Dim range1 as Range
Dim mysheet as String
Dim myrange as String
mysheet = "Sheet1"
range = "A1:A10"
range1 = Worksheets(mysheet).Range(myrange)
I've testing all the solutions that I've found on the internet as for example this, this and this, but nothing.
All the time it gives me errors: 1004 "Error defined by the application" or "object variable or with not set".
I have tried the following:
range1 = ThisWorkbook.Worksheets(mysheet).Range(myrange)
range1 = ActiveWorkbook.Worksheets(mysheet).Range(myrange)
range1 = Sheets(mysheet).Range(myrange) (and the combinations above)
range1 = Worksheets(mysheet).Range(Cells(1,1), Cells(1,10)) (and the combinations with This/Active workbook)
and
with This/ActiveWorkbook
range1 = .Worksheets(mysheet).Range(myrange)
end with
None have worked.
This is a REALLY silly thing, but I've been stuck for a while now :s
Can anyone help me?
Really thanks in advance.
Best regards,
You need to use Set to assign objects:
Set range1 = Worksheets(mysheet).Range(myrange)
这篇关于字符串的VBA范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!