我只需要一个用于选择单元格的代码,然而该单元格用于选择更改。我在工作簿中有一个单元格,它将识别它应该是什么单元格。单元格A1包含应选择的单元格#。
在此示例中,单元格A1包含单词“P25”,因此我希望下面的代码引用A1作为间接单元格引用到P25,从而选择单元格P25。
我分别尝试了这两行:
Sub IndirectCellSelect()
Sheet.Range(INDIRECT(A1)).Select
Range(INDIRECT(A1)).Select
End Sub
我得到错误Sub或Function未定义,当它到达单词INDIRECT
时答案 0 :(得分:3)
对发布的代码稍作修改:
Range([indirect("a1")]).Select
但我建议尝试其中任何一种:
Sheet.Range(Sheet.Range("A1").Value).Select
Range(Range("A1")).Select
第一个更明确,建议在生产代码中使用。
答案 1 :(得分:0)
您可以采用不同的方式执行此操作,但如果您想在VBA代码中使用本机Excel工作表函数,则需要执行此操作(请注意,我还调整了您引用A1的方式):
Application.WorksheetFunction.Indirect(Sheets(1).Range("A1"))
修改强> 道歉 - 我没有测试过这个。似乎间接功能在此上下文中不可用。相反,尝试这样的事情:
Dim rng as Range
Set rng = sheets(1).Range("A1")
sheets(1).Range(rng.text).Select
答案 2 :(得分:0)
Worksheets("list").Sort.SortFields.Add Key:=Range(INDIRECT("I16" & "3" & ":" & "I16" & "5002")) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Worksheets("list").Sort
.SetRange Range("B2:K5002")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin