From 2f56c991a7641b3e6629d1f375ae86e9d9a4e749 Mon Sep 17 00:00:00 2001 From: Trowbridge Date: Thu, 14 Mar 2019 17:08:08 -0400 Subject: [PATCH] start work on calculating months schedule --- months.cls | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 months.cls diff --git a/months.cls b/months.cls new file mode 100644 index 0000000..79156f8 --- /dev/null +++ b/months.cls @@ -0,0 +1,63 @@ +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 + + +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 + +Sub calc_adjust_vp() + + 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, 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 + + +Private Sub Worksheet_Change(ByVal Target As Range) + + If Not dumping Then Call Me.calc_adjust_vp + +End Sub