在我的Previous Question我已经问过如何处理Excel中.FIND函数的返回范围。现在我希望有一个新的范围,这是调用SEARCH函数找到" BEGIN"和"停止"
我试过
Set New_Range = Sheets(Selected_sheet).Range(Begin_RANGE).Resize(Stop_RANGE.Row, 0)
将Begin_RANGE和Stop_Range设置为返回SEARCH的值。
Private Function Search(rng As Range, FindString As String) As Range
With rng
Set Search = .Find(what:=FindString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
lookat:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
End With
答案 0 :(得分:0)
在您的尝试中,您将列调整大小设置为0,这将出错。您需要做的是将列数单独记录为1,或者简单地将其保留为例如:
Set New_Range = Sheets(Selected_sheet).Range(Begin_RANGE).Resize(Stop_RANGE.Row)
但是我会尝试消除开始单元格不在第1行中的任何潜在问题但是如此区别:
Set New_Range = Sheets(Selected_sheet).Range(Begin_RANGE).Resize(Stop_RANGE.Row - Begin_RANGE.Row + 1)
记住使用resize
功能时,您输入的数字就是结果大小。