Vba Double For循环用于查找单元格值是否在某个范围内
更糟糕的是,我试着用for循环写一个for循环,通过获取单元格文本,给它分配一个变量,然后在一个范围内运行,看看单元格值是否在范围内,如果找到了,然后将另一个单元格值更改为yes或no(如果找不到),但尽管我自己能够看到范围内的值,但我仍然得到所有的no(否) 整个要点是避免使用vlookup function=ifvlookupvalue,Table,col,false,Yes,No,尽管存在一些值,但它们似乎会跳过一些值 我的代码是Vba Double For循环用于查找单元格值是否在某个范围内,vba,excel,Vba,Excel,更糟糕的是,我试着用for循环写一个for循环,通过获取单元格文本,给它分配一个变量,然后在一个范围内运行,看看单元格值是否在范围内,如果找到了,然后将另一个单元格值更改为yes或no(如果找不到),但尽管我自己能够看到范围内的值,但我仍然得到所有的no(否) 整个要点是避免使用vlookup function=ifvlookupvalue,Table,col,false,Yes,No,尽管存在一些值,但它们似乎会跳过一些值 我的代码是 Dim xell As Range For Each x
Dim xell As Range
For Each xell In Range("C6:C36")
lookFor = xell.Value
For i = 6 To 36
If Cells(i, 10).Value = lookFor Then
Cells(i, 7).Value = "Yes"
Else
Cells(i, 7).Value = "No"
End If
Next i
Next xell
在第一个范围内循环的想法是获取单元格文本,将其分配给变量,并在此期间启动一个新循环,以查看整个范围内的单元格值是否在此范围内
它会执行,但返回时会显示所有“否”。结果表明,在找到“是”时,我没有退出循环: 需要退出
Dim xell As Range
For Each xell In Range("C6:C36")
lookFor = xell.Value
For i = 6 To 36
If Cells(i, 10).Value = lookFor Then
Cells(i, 7).Value = "Yes"
Exit For <-------- was missing
Else
Cells(i, 7).Value = "No"
End If
Next i
Next xell
没有解决我当前的问题,即除非经过编辑,否则找不到数据您每次都会覆盖单元格,因此只能获得范围C6:C36中最后一个xcell的结果,那么更正是什么?好的,现在,您解决了编号覆盖的问题。但您仍然有最后一个循环Xel=C36的覆盖。最后一个循环的结果覆盖了前29个循环的结果。。。但这不是VBA的问题,而是你想做什么的设计问题……这个结果对我来说很有效,为了确保它成功,我在一个vlookup旁边运行了它,它产生了相同的结果,即使是恒定的单元格,除非编辑是相同的,否则也找不到