Тако вопросик, возможно ли оптимизировать следующий код, а то у меня когда оно считает(в диапозоне 1000 строек), пока все проверит, то мой комп умирает на 5 мин где то.
А вот и сам код:
- Код: Выделить всё
Private Sub Raschet_Click()
N = 0
For Y = 7 To 10000
If Worksheets("лист1").Cells(Y, 4).Value = "" Then
Y = 10000
Else
Dim Produkt As Double
Ostatok = 0
For x = 7 To 10000
If Worksheets("лист2").Cells(x, 4).Value = "" Then
x = 10000
Else
If Worksheets("лист2").Cells(x, 4).Value = Worksheets("лист1").Cells(Y, 4).Value Then
If Worksheets("лист2").Cells(x, 6).Value = Worksheets("лист1").Cells(Y, 6).Value Then
If Worksheets("лист2").Cells(x, 2).Value = Worksheets("лист1").Cells(Y, 2).Value Then
Ostatok = Ostatok + Worksheets("лист2").Cells(x, 5).Value
End If
End If
End If
End If
Next x
For x = 7 To 10000
If Worksheets("лист3").Cells(x, 4).Value = "" Then
x = 10000
Else
If Worksheets("лист3").Cells(x, 4).Value = Worksheets("лист1").Cells(Y, 4).Value Then
If Worksheets("лист3").Cells(x, 6).Value = Worksheets("лист1").Cells(Y, 6).Value Then
If Worksheets("лист3").Cells(x, 2).Value = Worksheets("лист1").Cells(Y, 2).Value Then
Ostatok = Ostatok + Worksheets("лист3").Cells(x, 5).Value
End If
End If
End If
End If
Next x
Worksheets("лист1").Cells(Y, 8).Value = Worksheets("лист1").Cells(Y, 5).Value - Ostatok
Worksheets("лист1").Cells(Y, 9).Value = Worksheets("лист1").Cells(Y, 8).Value * Worksheets("лист1").Cells(Y, 6).Value
Worksheets("лист1").Cells(Y, 7).Value = Worksheets("лист1").Cells(Y, 5).Value * Worksheets("лист1").Cells(Y, 6).Value
End If
Next Y
End Sub