从单元格的下拉列表中select命名范围
我有几个范围,可能需要sorting。 我想使用从下拉列表中select的范围名称来select和sorting该范围:
Sub Sorts() Dim Wb As Workbook Dim Ws1 As Worksheet Dim rng As String Set Wb = ThisWorkbook Set Ws1 = ThisWorkbook.Sheets("Products") Set rng = Ws1.Range("G76").Value Ws1.Range("rng").Sort Range("rng").Cells(1, 1) End Sub
macros停在St rng …….对象需要
你的代码是好的,除了一点细节。 正确的代码行应该是这样的:
Ws1.Range(rng).Sort Range(rng).Cells(1, 1)
这是由于variables和string之间的区别。 你的rng
是一个stringtypes的variables ; 这意味着它是一个string,但是它包含了一个特定的value
,您在这里已经“几乎”正确地引用了这个值(对于string,您不需要Set
关键字:
rng = Ws1.Range("G76").Value
但是,如果将variablesrng
用引号""
传递,VBA就会明白必须查找名为rng
的范围。 这显然不存在,所以你得到一个对象未设置的错误。