这是在扼杀我。 我想找一个包含单词" alex"在第一列。 让我们称这个细胞为亚历克斯。
这个想法是: 范围(细胞 - 亚历克斯,细胞(lastrow,1))。
我知道如何到达拉斯特罗,但是细胞亚历克斯正在杀死我(我不认为excel可以看到它。它总是选择从A1到拉斯特罗的范围。)
这是一段代码:
Cells.Find(What:="alex", after:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True _
, SearchFormat:=True).Select
Set sht = Worksheets(sheetbr)
lastrow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
Range(ActiveCell, Cells(lastrow, 13)).Select
答案 0 :(得分:1)
如果你确定知道" Alex"在第1列中,然后使用:
With Worksheets(sheetbr)
.Range(.Columns(1).Find(What:="alex", after:=.Cells(.Rows.Count, 1), LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, _
SearchFormat:=True), _
.Cells(.Rows.Count, "A").End(xlUp)).Select
End With
否则使用此:
Dim f As Range
With Worksheets(sheetbr)
Set f = .Columns(1).Find(What:="alex", after:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True _
, SearchFormat:=True)
If Not f Is Nothing Then .Range(f, .Cells(.Rows.Count, "A").End(xlUp)).Select
End With
答案 1 :(得分:0)
我认为问题是LookIn:= xlFormulas。尝试更改为LookIn:= xlValues
答案 2 :(得分:0)
好吧,我已经弄明白了。 我没告诉你一切。 我通过导入另一个文档来启动我的代码。 在我编写代码时,当你提到ActiveCell时,它开始使用另一本书。 我通过将导入的电子表格中的数据复制到原始(book1)来解决它。 其余的很容易。在这里:
Set sht = ThisWorkbook.Worksheets(1)
lastrow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row 'to find the lastRow
Cells.Find(What:="GuV 7", after:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=True).Activate
Range(ActiveCell, Cells(lastrow, 13)).Select 'I need columns 1-13
再一次,谢谢你们。