发布网友 发布时间:2022-05-09 20:16
共2个回答
热心网友 时间:2023-10-17 07:41
通过EXCEL VBA可以做,根据“箱数”n判断,在下面插入(n-1)行。
数量除以n,填到各行对应的单元格中。其余信息不变。
最后都做完了将“箱数”这列删除。
============================================================
安全起见,还是保留你的表1。
假设表1在Sheet1中(见最下面的图)
Excel中按Alt+F11打开VB编辑器,双击左边Sheet1,在代码区粘贴以下代码。
Sub test()
Dim i, beginRow As Integer
beginRow = 2
For i = beginRow To Range("D65535").End(xlUp).Row
If Cells(i, 4) <> "" Then
Sheets("Sheet2").Range("A" & beginRow & ":A" & (beginRow + Cells(i, 4) - 1)).Value = Cells(i, 1)
Sheets("Sheet2").Range("B" & beginRow & ":B" & (beginRow + Cells(i, 4) - 1)).Value = Cells(i, 2)
If Cells(i, 4) <> 0 Then
Sheets("Sheet2").Range("C" & beginRow & ":C" & (beginRow + Cells(i, 4) - 1)).Value = Cells(i, 3) / Cells(i, 4)
Else
Sheets("Sheet2").Range("C" & beginRow & ":C" & (beginRow + Cells(i, 4) - 1)).Value = 0
End If
beginRow = beginRow + Cells(i, 4)
End If
Next i
MsgBox "转换完成!", vbInformation + vbOKOnly, "Congratulations!"
End Sub
关闭VB编辑器,Alt+F8,运行test宏即可。
上述代码将表1转换为表2,保存在Sheet2中。
热心网友 时间:2023-10-17 07:42
说清楚为什么要这么做或许有人能出主意