我目前正在VBA中开发一个自动化报表,该报表会遍历物料列表,并提取出成品中低于特定库存阈值的任何组件。我遇到的问题是,我需要脚本将物料从一个工作表提取到另一个工作表,但我需要它忽略空值或报废的字段。我当前执行这部分报表的代码如下所示:
Do While l <= alarm.Worksheets("Alarms").Cells.CurrentRegion.Rows.Count
i = 2
j = 2
Do While alarm.Worksheets("Alarms").Range("A" & l).Text <> alarm.Worksheets("BOMs").Range("A" & i).Text
i = i + 1
Loop
Do While alarm.Worksheets("Alarms").Range("A" & l).Text = alarm.Worksheets("BOMs").Range("A" & i).Text
If alarm.Worksheets("BOMs").Range("K" & i).Value / alarm.Worksheets("BOMs").Range("G" & i).Value < 20 Then
If alarm.Worksheets("BOMs").Range("D" & i).Text <> "SCRAP" Or alarm.Worksheets("BOMs").Range("D" & i).Text <> "" Then
alarm.Worksheets("Alarms").Cells(l, j) = alarm.Worksheets("BOMs").Cells(i, 4)
j = j + 1
i = i + 1
End If
Else
i = i + 1
End If
Loop
l = l + 1
Loop
除了尝试筛选出空和报废组件外,此操作按预期工作。当报表运行时,我仍然看到大量的空和报废字段。我不明白为什么会这样,如果能提供一些指导,将非常感谢!
1条答案
按热度按时间svmlkihl1#
巢状Do...循环中的巢状If陈述式