Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Using a matrix and class design
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 -- mikezx10 ------------------------------------------------------------------------ mikezx10's Profile: http://www.thecodecage.com/forumz/member.php?userid=331 View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=98254 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Using a matrix and class design
mikezx10;351065 Wrote: 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. Code: -------------------- '''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 -------------------- You would be better of posting all of your code (don't forget to highlight it after posting and click the # at the top of your reply window) as i don't see a decleration for data, also you use "AddEntry data(1)" but it should be "AddEntry data(i)", you must also remember that unless a Private sub is located within the same module as the one calling it, it won't be available to the calling sub. -- Simon Lloyd Regards, Simon Lloyd 'The Code Cage' (http://www.thecodecage.com) ------------------------------------------------------------------------ Simon Lloyd's Profile: http://www.thecodecage.com/forumz/member.php?userid=1 View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=98254 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Class programming - how to return chartobject from a class? | Excel Programming | |||
Class modules: parametrize class object fields | Excel Programming | |||
Hyperlinks Inserted in Design Mode inactive once Exited Design Mod | Excel Programming | |||
VBA Matrix class | Excel Programming | |||
Enter Excel Design Mode and Exit Design Mode | Excel Programming |