Originally Posted by
GTO
Sorry, a bit busy and I wanted to search a bit as well. I don't regularly use .Run, so wanted to check a couple of things.
First, you seem to have produced an anomaly I was unaware of. In a Standard Module:
[vba]Sub ex01()
Application.Run "M"
End Sub
Sub M()
MsgBox "Made it to M"
End Sub
Sub ex02()
Application.Run "M1"
End Sub
Sub M1()
MsgBox "Made it to M1"
End Sub
Sub ex03()
Application.Run "M1mmm"
End Sub
Sub M1mmm()
MsgBox "Made it to M1mmm"
End Sub
[/vba] If you step through these, 'ex01' succeeds, as does 'ex03', but 'ex02' fails! I did not find any documentation on this, but it appears that if using Appplication.Run, wherein the called procedure's name contains a number, the called procedure's name must be at least three characters in length. I certainly am not claiming this as fact, but that's my observation.
To fix this for the moment, lets just use 'OOPS1' through 'OOPS4' for your called procedure names.
Now we run into a second problem, as you will see that you still receive the 'not found...' error. This is because you have Application.Run trying to call procedures housed in the UserForm, which is basically a Class Module. You might be able to reference it, but I see neither how, nor why we'd want to. Instead, just move the called Subs to a Standard Module.
Does that help?
Mark