如何在一列中find更多的值

我不知道如何使用“查找”命令。

我需要在“M”列中find单元格“F1”的值。 如果该值在列中,则将值列“M”中的值复制到工作表“汽车”到单元格“F2”。 然后返回到工作表1到单元格“G1”并重复,直到单元格“单元格,行= 1”为空。 如果是空白,则转到下一行到单元格“F2”…此循环直到单元格“F =单元格,行”为空。

见图片: http : //i57.tinypic.com/2hoydma.jpg

我有这个代码,但它不是循环代码:

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 

有人可以帮我吗?

我build议寻找一个“为每个”操作,这将迭代通过您的数据,直到列是空的链接下面可能指向你在正确的方向

https://msdn.microsoft.com/en-us/library/office/aa221353%28v=office.11​​%29.aspx

我尝试解决这个问题。 你可以修改这个,可以执行。

 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