M
mikezx10
I am struggling with how to use a matrix(?) to feed my class
the code in sub Main doesnt work and i dont know how to fix it or how
to use the data passed to the AddEntry sub.
Any help greatly appreciated.
Class:
Private Entries As Collection
Private mAcctNo As String
Private mDebit As Integer
Private mCredit As Integer
Public Sub Main(data As Variant)
Dim i As Integer
For i = 1 To data.Length
AddEntry data(1)
Next i
End Sub
Private Sub AddEntry(entry As Variant)
Dim Je As JournalEntry
Set Je = New JournalEntry
Je.acctNo entry(1)
Je.Debit = entry(2)
Je.Credit = entry(3)
Entries.Add (Je)
End Sub
Public Property Let acctNo(val As String)
mAcctNo = val
End Property
Public Property Let Credit(val As Integer)
mCredit = val
End Property
Public Property Let Debit(val As Integer)
mDebit = val
End Property
------------------------------------------------
calling code:
Sub getstuff()
Dim vMatrix As Variant
Dim rngLastRow As Range
'a handle on the range we are working with
With ActiveSheet.Range("A:C")
'get the LastRow
Set rngLastRow = .Find(what:="*", searchorder:=xlByRows,
searchdirection:=xlPrevious)
'if the range contains data then populate our variant array
If Not rngLastRow Is Nothing Then
vMatrix = .Resize(rngLastRow.Row - .Row + 1, .Columns.Count)
End If
End With
Dim Je As JournalEntry
Set Je = New JournalEntry
Je.Main (vMatrix)
End Sub
the code in sub Main doesnt work and i dont know how to fix it or how
to use the data passed to the AddEntry sub.
Any help greatly appreciated.
Class:
Private Entries As Collection
Private mAcctNo As String
Private mDebit As Integer
Private mCredit As Integer
Public Sub Main(data As Variant)
Dim i As Integer
For i = 1 To data.Length
AddEntry data(1)
Next i
End Sub
Private Sub AddEntry(entry As Variant)
Dim Je As JournalEntry
Set Je = New JournalEntry
Je.acctNo entry(1)
Je.Debit = entry(2)
Je.Credit = entry(3)
Entries.Add (Je)
End Sub
Public Property Let acctNo(val As String)
mAcctNo = val
End Property
Public Property Let Credit(val As Integer)
mCredit = val
End Property
Public Property Let Debit(val As Integer)
mDebit = val
End Property
------------------------------------------------
calling code:
Sub getstuff()
Dim vMatrix As Variant
Dim rngLastRow As Range
'a handle on the range we are working with
With ActiveSheet.Range("A:C")
'get the LastRow
Set rngLastRow = .Find(what:="*", searchorder:=xlByRows,
searchdirection:=xlPrevious)
'if the range contains data then populate our variant array
If Not rngLastRow Is Nothing Then
vMatrix = .Resize(rngLastRow.Row - .Row + 1, .Columns.Count)
End If
End With
Dim Je As JournalEntry
Set Je = New JournalEntry
Je.Main (vMatrix)
End Sub