Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. Sub testro()
  2. Const cSheet As String = "Procenty"
  3. Const cRange As String = "A2:D71"
  4. Const cel As Long = 4
  5. Const cCol As Variant = "A"
  6.  
  7.  
  8. Dim vntS As Variant
  9. Dim vntT As Variant
  10. Dim i As Long, r As Long
  11. Dim emptyRow As Long
  12.  
  13. Dim kom As Double, komz As Double, kredyt As Double
  14. Dim roz As Double, komr As Double, komn As Double
  15. Dim dz As Date, dw As Date
  16.  
  17. vntS = ThisWorkbook.Worksheets(cSheet).Range(cRange).Value
  18. ReDim vntT(1 To 3 * UBound(vntS), 1 To cel + 1)
  19. kredyt = 0
  20.  
  21. r = 1
  22.  
  23. For i = 1 To UBound(vntS)
  24.  
  25. dz = vntS(i, 1)
  26. komz = vntS(i, 2)
  27. dw = vntS(i, 3)
  28. kom = vntS(i, 4)
  29.  
  30.  
  31.  
  32. If komz > kom Then
  33.  
  34. If CStr(vntT(r, 1)) = "" Then
  35. vntT(r, 1) = dz
  36. vntT(r, 2) = komz 'debt
  37. End If
  38. vntT(r, 3) = dw
  39. vntT(r, 4) = kom 'payment
  40. vntT(r, 5) = " komz>kom"
  41.  
  42. r = r + 1
  43.  
  44. komz = komz - kom
  45.  
  46. vntT(r, 1) = dz
  47. vntT(r, 2) = komz ' Debt
  48. vntT(r, 3) = dw
  49. vntT(r, 4) = kom ' payment
  50. vntT(r, 5) = " .. komz > kom"
  51.  
  52.  
  53.  
  54. ElseIf komz < kom Then
  55.  
  56. komn = kom - komz
  57.  
  58. vntT(r, 1) = dz
  59. vntT(r, 2) = komz
  60. vntT(r, 3) = dw
  61. vntT(r, 4) = kom
  62. vntT(r, 5) = " .. A"
  63.  
  64. r = r + 1
  65.  
  66. vntT(r, 3) = dw
  67. vntT(r, 4) = komn ' Overpaid
  68. vntT(r, 5) = " .. komz < kom"
  69.  
  70. r = r + 1
  71.  
  72. ElseIf komz = kom Then
  73. vntT(r, 1) = dz
  74. vntT(r, 2) = komz ' debt
  75. vntT(r, 3) = dw
  76. vntT(r, 4) = kom ' payment
  77. vntT(r, 5) = " .. komz = kom"
  78.  
  79. r = r + 1
  80.  
  81. End If
  82.  
  83.  
  84. Next
  85.  
  86. With ThisWorkbook.Worksheets(cSheet)
  87. emptyRow = .Columns(cCol).Find("*", , xlFormulas, xlWhole, xlByColumns, xlPrevious).Row + 1
  88. .Cells(emptyRow, cCol).Resize(UBound(vntT), UBound(vntT, 2)) = vntT
  89. .Cells(emptyRow, cCol) = kredyt
  90. End With
  91. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement