我在VBA中得到的小项目并坚持下面的主题 .
我需要从搜索值到H列中的第一个空单元格中选择范围 .
选定的范围应如下所示
Excel中的选定范围:
我在A列中搜索了特定值,如果我发现它被设置为范围内的第一个单元格 . ( 有用)
然后我需要找到范围内的最后一个单元格,这是最后一列中的第一个空单元格 .
这是我发现并尝试使用的
Sub Button()
Dim StringToFind As String
StringToFind = Application.InputBox("Enter string to find", "Find string")
Worksheets("SS19").Activate
ActiveSheet.Range("A:A").Select
Set cell = Selection.Find(What:=StringToFind, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
cell.Select
With Worksheets("SS19")
Set rr = .Range(ActiveCell, .Cells(.Rows.Count, "H").End(xlUp))
With rr
rr.Parent.Range(.Cells(1, "A"), .Cells(.Rows.Count, "H").End(xlUp).Offset(1, 0)).Select
End With
End With
If cell Is Nothing Then
Worksheets("SS19").Activate
MsgBox "String not found"
End If
我试图在普遍选择的范围内搜索第一个空单元格,因此它不会搜索整个列,但它不起作用 .
3 回答
试试这个...
我发现在搜索单个列时使用工作表的匹配函数比Range.Find更容易 .
使用.End(xlDown)可能会有问题,如果H列中第m行下的第一个单元格为空白并且应该检查它,或者您可能会发现选择到达太远,可能一直到工作表的底部 . 检查非空白单元格将捕获此潜在问题 .
谢谢你们:)工作完美:)