就一个示例,代码中根本没考虑第二串的取值,当然没有了,要想加一行(第一行): Private Sub 提取_Click() Dim Xulie As String Dim n As Long Dim Y As Long Dim a Randomize n = 2 Y = 5 With Sheets("数据库") Xulie = Sheets("原始记录单").Cells(6, 2) Ax: If Sheets("数据库").Cells(n, 1) = Xulie And Sheets("数据库").Cells(n, 3) = "" Then Sheets("原始记录单").Cells(Y, 4) = Sheets("数据库").Cells(n, 2) For YY = 5 To 24 Sheets("原始记录单").Cells(Y, YY) = Sheets("数据库").Cells(2, 6) Next YY n = n + 1 Y = Y + 1 GoTo Ax: End If ac: If Sheets("数据库").Cells(n, 1) = Xulie And Sheets("数据库").Cells(n, 3) > 0 Then Sheets("原始记录单").Cells(Y, 4) = Sheets("数据库").Cells(n, 2) For YY = 5 To 14 B = (Sheets("数据库").Cells(n, 4) - Sheets("数据库").Cells(n, 3)) * Rnd() * 0.98 a = Format(Application.WorksheetFunction.Even(B * 100) / 100, "0.00") Sheets("原始记录单").Cells(Y, YY) = a + Sheets("数据库").Cells(n, 3) Next YY n = n + 1 Y = Y + 1 GoTo ac: End If End With End Sub |