113 lines
2.5 KiB
OpenEdge ABL
113 lines
2.5 KiB
OpenEdge ABL
VERSION 1.0 CLASS
|
|
BEGIN
|
|
MultiUse = -1 'True
|
|
END
|
|
Attribute VB_Name = "months"
|
|
Attribute VB_GlobalNameSpace = False
|
|
Attribute VB_Creatable = False
|
|
Attribute VB_PredeclaredId = True
|
|
Attribute VB_Exposed = True
|
|
Option Explicit
|
|
|
|
Private x As New TheBigOne
|
|
Private units() As Variant
|
|
Private price() As Variant
|
|
Private sales() As Variant
|
|
Private dumping As Boolean
|
|
Private vedit As String
|
|
|
|
Private Sub Worksheet_Change(ByVal Target As Range)
|
|
|
|
If Not dumping Then
|
|
|
|
If Not Intersect(Target, Range("E6:E17")) Is Nothing Then Call Me.mvp_adj
|
|
If Not Intersect(Target, Range("F6:F17")) Is Nothing Then Call Me.mvp_set
|
|
If Not Intersect(Target, Range("K6:K17")) Is Nothing Then Call Me.mvp_adj
|
|
If Not Intersect(Target, Range("L6:L17")) Is Nothing Then Call Me.mvp_set
|
|
'If Not Intersect(Target, Range("Q6:Q17")) Is Nothing Then Call Me.ms_adj
|
|
'If Not Intersect(Target, Range("R6:R17")) Is Nothing Then Call Me.ms_set
|
|
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Sub mvp_set()
|
|
|
|
Dim i As Integer
|
|
Call Me.get_sheet
|
|
|
|
For i = 1 To 12
|
|
If units(i, 5) = "" Then units(i, 5) = 0
|
|
If price(i, 5) = "" Then price(i, 5) = 0
|
|
units(i, 4) = units(i, 5) - (units(i, 2) + units(i, 3))
|
|
price(i, 4) = price(i, 5) - (price(i, 2) + price(i, 3))
|
|
sales(i, 5) = units(i, 5) * price(i, 5)
|
|
sales(i, 4) = sales(i, 5) - (sales(i, 2) + sales(i, 3))
|
|
Next i
|
|
|
|
set_sheet
|
|
|
|
|
|
End Sub
|
|
|
|
Sub mvp_adj()
|
|
|
|
Dim i As Integer
|
|
Call Me.get_sheet
|
|
|
|
For i = 1 To 12
|
|
If units(i, 4) = "" Then units(i, 4) = 0
|
|
If price(i, 4) = "" Then price(i, 4) = 0
|
|
units(i, 5) = units(i, 4) + (units(i, 2) + units(i, 3))
|
|
price(i, 5) = price(i, 4) + (price(i, 2) + price(i, 3))
|
|
sales(i, 5) = units(i, 5) * price(i, 5)
|
|
sales(i, 4) = sales(i, 5) - (sales(i, 2) + sales(i, 3))
|
|
Next i
|
|
|
|
set_sheet
|
|
|
|
|
|
End Sub
|
|
|
|
Sub ms_set()
|
|
|
|
Dim i As Integer
|
|
Call Me.get_sheet
|
|
|
|
For i = 1 To 12
|
|
units(i, 4) = units(i, 5) - (units(i, 2) + units(i, 3))
|
|
price(i, 4) = price(i, 5) - (price(i, 2) + price(i, 3))
|
|
sales(i, 5) = units(i, 5) * price(i, 5)
|
|
sales(i, 4) = sales(i, 5) - (sales(i, 2) + sales(i, 3))
|
|
Next i
|
|
|
|
set_sheet
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Sub get_sheet()
|
|
|
|
units = Range("B6:F17")
|
|
price = Range("H6:L17")
|
|
sales = Range("N6:R17")
|
|
|
|
End Sub
|
|
|
|
Sub set_sheet()
|
|
|
|
dumping = True
|
|
|
|
Range("B6:F17") = units
|
|
Range("H6:L17") = price
|
|
Range("N6:R17") = sales
|
|
|
|
dumping = False
|
|
|
|
End Sub
|