How To Pass Value Using "ByRef"

J

JimFor

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
 
N

Norman Jones

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top