Public Function procent(fv As Double, time As Double) As Double
procent = fv* (0.1 / 365) * time'time= diffrence between 2 dates from specific cells , fv= numeric value from cell
End Function
Sub testo()
Dim i As Integer, n As Integer
Dim emptyrow As Long
Dim kom As Double, komz As Double, dw As Double, roz As Double, komr As Double, komn As Double
Dim napis As String
Dim dz As Date
'Make Sheet1 active
Sheets("procenty").Select
'Determine emptyRow
emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1
dz = Range("A1:A70").Value
komz = Range("B1: B70").Value
kom = Range("D1:D70").Value
dw = Range("C1:C70").Value
For Each Row In Range("A1:D70")
komr = komz - kom
roz = Abs(dz - dw)
komn = kom - komz
If kom = komz And dw > dz Then
Cells(emptyrow, 1).Value = procent(kom, roz)
Cells(emptyrow, 2).Value = procent(kom, roz) + kom
ElseIf komz = kom And dw = dz And dz > dw Then
Cells(emptyrow, 1).Value = napis
Cells(emptyrow, 2).Value = napis
ElseIf komz > kom And dz < dw Then
Cells(emptyrow, 1).Value = procent(kom, roz)
Cells(emptyrow, 2).Value = procent(kom, roz) + kom
Cells(emptyrow, 3).Value = komr
Cells(emptyrow, 4).Value = procent(komr, roz)
Cells(emptyrow, 5).Value = procent(komr, roz) + komr
ElseIf komz > kom And dz > dw Then
Cells(emptyrow, 1).Value = komr
ElseIf komz < kom Then
Cells(emptyrow, 1).Value = komn
Exit For
End If
Next Row
End Sub
вся эта подпрограмма должна получить данные из этого выбранного диапазона и затем выполнить некоторые операции с ним в цикле, такие как умножение, сложение, различие, деление на другие конкретные ячейки, такие как этот A1 * C1, затем A2 * C2, затем проверьте,условия, при которых все хорошо, и делать то, что внутри, если и так до тех пор, пока не будут выполнены все ячейки. Вся проблема в том, что здесь я получаю много ошибок, таких как несоответствие типов, несоответствие аргументов ref, а также когда я использую своисобственная функция, с которой она ничего не делает.