Now I am doing this in VB6 but I don’t think it matters what I do it in, does it? I believe it has to do with math.
Here is the problem, have a look at this picture

As you can see in this image, there is a black line and a grey circle. I want the circle to move from the bottom left to the bottom right, but I also want it to stay along the path of the line so it reaches our second picture like this:

Now how can I accomplish this? Again, using VB6.
Ok, I don’t know VBA6 but, since you said:
I will give a generic solution that involves you having the center of the circles coordinates, and the lines endpoints.
This line can be treated as a vector:
You don’t need to write this in your program or anything just saying it is a vector.
What you do need to is get the magnitude of the vector and assign it to a variable:
Now make it into unit vector components and get the separate components:
Now how ever you update the circle:
Hopefully this helps.