VBA:使用表格设置范围对象(“表格名称”)。行(1)。find
我有一组代码,看起来像这样,我正在search第1行的特定单词,并希望返回find它的列号:
Dim MyRng As Range Dim MySht As Worksheet Set MySht = ThisWorkbook.Sheets("Numbers") Set MyRng = MySht.Rows(1).Find("Header 3" etc...) FindSeriesColumn = MyRng.Column
我应该能够消除定义一个工作表对象的需要似乎是合乎逻辑的,并且应该能够执行以下操作:
Dim MyRng As Range Set MyRng = ThisWorkbook.Sheets("Numbers").Rows(1).Find("Header 3" etc...) FindSeriesColumn = MyRng.Column
但是, Set MyRng ...
行会导致错误。 什么是不正确的使用ThisWorkbook.Sheets("Sheet Name").Rows(1).Find...
?
使用这个表单:
Sub fhksadf() Dim MyRng As Range Set MyRng = ThisWorkbook.Sheets("Numbers").Rows(1).Find(what:="Header 3") FindSeriesColumn = MyRng.Column MsgBox FindSeriesColumn End Sub
编辑#1:
定义正在检查的范围比较容易,并且在该范围的开始之后启动Find() :
Sub fhksadf() Dim MyRng As Range Dim temp As Range Set temp = ThisWorkbook.Sheets("Numbers").Rows(1).Cells Set MyRng = temp.Find(what:="Header 3", After:=temp(1)) FindSeriesColumn = MyRng.Column MsgBox FindSeriesColumn End Sub