Excel 如何在一列中查找更多值
我不知道如何使用“查找”命令 我需要在“M”列中找到单元格“F1”的值。如果值在第列中,则将第“M”列中值右侧的值复制到工作表“car”中的单元格“F2”。然后返回工作表1至单元格“G1”并重复,直到单元格“cell,row=1”为空。如果为空,则转到单元格“F2”的下一行……此循环直到单元格“F=单元格,行”为空 如图所示: 我有这个代码,但它不是循环代码:Excel 如何在一列中查找更多值,excel,vba,find,Excel,Vba,Find,我不知道如何使用“查找”命令 我需要在“M”列中找到单元格“F1”的值。如果值在第列中,则将第“M”列中值右侧的值复制到工作表“car”中的单元格“F2”。然后返回工作表1至单元格“G1”并重复,直到单元格“cell,row=1”为空。如果为空,则转到单元格“F2”的下一行……此循环直到单元格“F=单元格,行”为空 如图所示: 我有这个代码,但它不是循环代码: Columns("M:M").Select Selection.Find(What:=Range("F1"), After:=Acti
Columns("M:M").Select
Selection.Find(What:=Range("F1"), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Offset(0, 1).Copy
Sheets("car").Select
Range("F2").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Sheets("worksheet1").Select
有人能帮我吗?我建议查看一个“for each”操作,它将遍历您的数据,直到列为空,下面的链接可能会为您指明正确的方向
我试着解决这个问题。您可以对此进行修改,并且可以执行
Dim myRng As Range
Dim nResult As Long
Set myRng = Worksheets("worksheet1").Range("M:M")
nResult = Application.CountIf(myRng, Range("F1"))
Set rFound = Worksheets("worksheet1").Cells.Find(What:=Range("F1"), _
After:=Cells(Cells.Rows.Count, Cells.Columns.Count), _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
For i = 0 To nResult - 1
Worksheets("car").Range("F2") = rFound.Offset(0, 1).Value
Set rFound = Worksheets("worksheet1").Cells.FindNext(rFound)
Next i
End
试试这个,想想它应该能做你想做的一切:
Dim TargetRange As Range
Set TargetRange = Sheets("worksheet1").Range("F1:K14")
Dim CurrentRange As Range
For Each CurrentRange In TargetRange
If CurrentRange.Value = "" Then
Exit For
End If
Sheets("Car").Cells(CurrentRange.Row, CurrentRange.Column) = Application.WorksheetFunction.VLookup(CurrentRange.Value, Sheets("worksheet1").Range("M1:N7"), 1, False)
Next CurrentRange
编辑删除了一些我在机器上运行代码时忘记删除的废话。