所以本周早些時候,這里有人給了我一個非常有用的代碼來檢查作業表 Daily1 中 B 列中的值是否也在作業表任務串列中的 C 列中。我遇到的問題是代碼似乎沒有檢查某些值,例如,Blue cheese 控制面板位于作業表 Daily1 的 B13 的 B 列中,它也在單元格 C82 的 C 列的作業表任務串列中,但程式回傳一個未找到。我嘗試查看代碼的邏輯,但似乎找不到任何問題。它應該作業,但我不知道為什么它不作業。
再一次,代碼是由其他人提供的,所以我可能會遺漏一些東西。
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
我還附上了excel的圖片,看看我指的是什么。
uj5u.com熱心網友回復:
代碼和資料沒有問題。
A
這里的代碼正在迭代sheet中的列行Daily1
并將其寫入 sheet Task List
。
所以找不到的值不是在作業表Blue cheese control panel
的列中,而是在作業表的最后一行C
task list
A
Daily1
更新代碼中的這兩行,使其按預期作業。
For Each rrow In rowRangeDest
If WorksheetFunction.CountIf(rowRangeSrc, rrow.Value) = 0 Then
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/514492.html
標籤:擅长vbavba7
上一篇:如何查找接近給定值的金額