【发布时间】:2020-10-24 16:44:25
【问题描述】:
我在扫描轮廓和子行时真的很挣扎。在下面的代码中(见附图)我有一个工作表(图 A),我想在其中扫描列 C,当值为 1(大纲)时,我想扫描所有嵌套行,直到我点击下一个大纲,这将为 1 并且您可以在 C 列中将级别编号分配给嵌套组,因此当 C 列中的级别编号为 1 时,相同的例程需要再次循环,直到 C 列中的最后一行(或最后一个大纲)。一旦找到大纲(1 级),我就想扫描所有嵌套的行/子组,以查看 D 列(加载编号)中是否有值。如果至少有 1 行有值,那么我想更新原始父级别上的单元格值,状态为“SPLIT LOAD”,否则为“SINGLE LOAD”(参见图 D)。这是我的代码,我只是绕圈子,因为它没有扫描我的子行。
Sub ScanRows()
Dim LoadNumber As Integer
Dim LevelNumber As Integer
Dim LoadStatus As String
Dim LastRow As Long, i As Long
LastRow = Cells(Rows.Count, "C").End(xlUp).Row
For i = 1 To LastRow
If Range("C" & i).Value = 1 And Range("D" & i).Value <> "N/A" Then
LoadNumber = Range("D" & i).Value
LoadStatus = Range("E" & i).Value
If Range("C" & i).Value > 1 And IsEmpty(Range("D" & i).Value) Then
' Update the Loadstatus "SINGLE LOAD"
Else
' Update the Loadstatus "SINGLE LOAD"
End If
End If
Next i
End Sub
谢谢
【问题讨论】: