我正在尝试编写一个脚本来自动从从 SAP 导出的数据创建组。因此,第一列中的数据如下所示,后面的部分中包含部件号和描述。
.1
..2
..2
...3
....4
.1
.1
..2
以此类推,1
最高层次和4
最低原料层次可以有一个或数百个每个子层次。只有一个导出有 2,000-5,000 个组件,因此从手动分组所有内容开始是一个非常乏味的过程。所以我一直在尝试自动化这个,但一直在碰壁。我的代码一团糟,并没有真正做任何事情,但我会发布我所做的。
Dim myRange As Range
Dim rowCount As Integer, currentRow As Integer
Dim GrpRange As Range, GrpStart As Integer, GrpEnd As Integer, GrpCount As Integer
Dim GrpLoop As Integer, GrpLoopEnd As Integer, GrpLoopEndRow As Integer
Dim GrpSt As Integer
GrpSt = 2
GrpStart = 2
GrpEnd = RowEnd(2, 1)
GrpLoopEnd = 100
'Loop through each group
'For TotalLoop = 2 To GrpEnd
'Determine 1 to 1 row length
For GrpStart = GrpSt To GrpEnd
Cells(GrpStart, 1).Select
If Right(ActiveCell, 1) = 1 Then
GrpSt = ActiveCell.Row
For GrpLoop = 0 To GrpLoopEnd
If Right(Cells(GrpSt, 1), 1) = 1 Then
GrpLoopEnd = 1
GrpLoopEndRow = ActiveCell.Row
Exit For
End If
Next
End If
Next GrpStart
我首先只是试图找到每个顶层1
和下一个顶层之间的长度,因为有时有结构,有时没有。接下来,我将在那个“组”中对2
then 3
then执行相同的4
操作,然后进行分组,最后遍历列的其余部分,并对每个“1 对 1”组执行相同的操作。我不确定这是否正确甚至可能,但我必须从某个地方开始。
以下是导出内容的示例:
这是我正在寻找的分组示例: