看看是不是这种效果
DataTables("分箱明细").DataRows.Clear
Dim Cols1() As String = {"长度","宽度","厚度","编号","单个重量","编号"}
Dim Cols2() As String = {"长度","宽度","厚度","编号","单个重量","编号"}
Dim dr2 As DataRow
Dim zl As Integer = 0
For Each dr1 As DataRow In DataTables("产品数据").Select("[数量] > 0 and 单个重量 > 0")
Dim gs As Integer = Math.Floor(500 / dr1("单个重量"))
Dim cnt As Integer = 1
Dim sl As Integer = dr1("数量")
For j As Integer = 1 To sl Step gs
dr2 = DataTables("分箱明细").AddNew()
For i As Integer = 0 To Cols1.Length -1
dr2(Cols2(i)) = dr1(Cols1(i))
Next
dr2("数量")= iif(j+gs > sl,sl - j+1,gs)
dr2("箱号")=cnt
cnt += 1
Next
Next