如何验证工作表区域元素是否存在于另一区域?VBA代码异常排查
VBA代码匹配异常排查:存在值被判定为“Not Found”
我用以下VBA代码检查Daily1工作表B列的值是否存在于Task List工作表C列中,但部分实际存在的值(例如Daily1工作表B13单元格的“Blue cheese control panel”,该值同时存在于Task List工作表C82单元格)被代码判定为“Not Found”。检查代码逻辑未发现问题,寻求原因排查及解决办法。
Sub ExtractParts() Dim wsSrc As Worksheet: Set wsSrc = Sheets("Daily1") Dim wsDest As Worksheet: Set wsDest = Sheets("Task List") Dim LastRowSrc As Long: LastRowSrc = wsSrc.Cells(wsSrc.Rows.Count, "B").End(xlUp).Row Dim LastRowDest As Long: LastRowDest = wsDest.Cells(wsDest.Rows.Count, "C").End(xlUp).Row Dim i As Long, j As Long, rowRangeSrc As Range, rowRangeDest As Range Set rowRangeSrc = wsSrc.Range("B7:B" & LastRowSrc) Set rowRangeDest = wsDest.Range("C2:C" & LastRowDest) i = 2 j = 7 For Each rrow In rowRangeSrc If WorksheetFunction.CountIf(rowRangeDest, rrow.Value) = 0 Then wsDest.Cells(i, 5).Value = "Not Found" Else If wsSrc.Cells(j, 9).Value = "CR" Then wsDest.Cells(i, 5).Value = "Completed" Else wsDest.Cells(i, 5).Value = "Not Completed" End If End If i = i + 1 j = j + 1 Next rrow End Sub
参考截图


内容的提问来源于stack exchange,提问作者David Rojas
相关产品推荐
相关产品推荐

