![]() |
How To Pass Value Using "ByRef"
Hi,
I am trying to change the counter position in a program from what it would normally be if the program followed its original logic and I am trying to use the ByRef method to do this. Can't find too much written about this in the VBA books I looked at but it looks rather simple. I'm missing something because it does not work. I have a main program called Dog() which moves a cell counter by one and uses the name "Count" to point to a cell Cell (Count, 1). Dog has several "subprograms" which perform tasks and return to Dog. One of the subprogram's tasks is to change the cell pointer from what it would be if followed the 'i= 1 to 100... Count = Count +...next i" method of looping used in Dog. A certain cell value causes a subprogram in Dog, say Sub Cat, to perform another calculation and change the Count value by one. If the next value of Count when Dog is performed would be, say, 6, Cat changes to it 7. I need to tell Dog the new value of Count is 7. I tried passing the new count value from Cat to Dog with the line Dog(ByRef Count) and I keep getting error messages of "Expected Expression" and "Syntax Error." Can anyone tell me how to pass a changed counter value using the ByRef technique and what I am doing wrong? Thanks |
How To Pass Value Using "ByRef"
Hi JimFor,
By way of example: Sub Dog() Dim MyCount As Long For MyCount = 1 To 30 Two MyCount MsgBox MyCount Next End Sub Sub Two(ByRef aCount As Long) aCount = aCount + 4 End Sub If you still experience problems, post your code. --- Regards, Norman "JimFor" wrote in message ... Hi, I am trying to change the counter position in a program from what it would normally be if the program followed its original logic and I am trying to use the ByRef method to do this. Can't find too much written about this in the VBA books I looked at but it looks rather simple. I'm missing something because it does not work. I have a main program called Dog() which moves a cell counter by one and uses the name "Count" to point to a cell Cell (Count, 1). Dog has several "subprograms" which perform tasks and return to Dog. One of the subprogram's tasks is to change the cell pointer from what it would be if followed the 'i= 1 to 100... Count = Count +...next i" method of looping used in Dog. A certain cell value causes a subprogram in Dog, say Sub Cat, to perform another calculation and change the Count value by one. If the next value of Count when Dog is performed would be, say, 6, Cat changes to it 7. I need to tell Dog the new value of Count is 7. I tried passing the new count value from Cat to Dog with the line Dog(ByRef Count) and I keep getting error messages of "Expected Expression" and "Syntax Error." Can anyone tell me how to pass a changed counter value using the ByRef technique and what I am doing wrong? Thanks |
All times are GMT +1. The time now is 05:32 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com