RE:Esperar click en Boton
No estoy seguro de lo que buscas. Pero creo que con un siple MsgBox se puede hacer que el programa se detenga esperando que selecciones un botón de los que muestra el MsgBox. Cada botón del la ventana del MsgBox tiene un valor, recogiendo ese valor continúas con el procedimiento. Un MsgBox puede tener uno dos y hasta tres botones (que yo sepa). Cada botón tiene el siguiente valor.
Si = 6
No = 7
Cancel = 2
Ok = 1
Abort = 3
Retri = 4
Ignore = 5
Para poner dos botones bastaría con vbOkCancel simplemente, para poner 3 botones vbYesNoCancel o vbAbortRetryIgnore, con estos podríamos obtener tres valores.
Si necesitas obtener más de tres valores creo que se podría hacer con un formulario con tantos botones como distintos valores necesites. Cada botón daría un valor a una variable que tendría que estar declarada en un módulo para que pudieran utilizarlo los dos formularios. Después de asignarle el valor a la variable habría que ocultarlo. (Form2.Hide)
Al mostrar el formulario habría que hacerlo modal, es decir mostrarlo de la siguiente forma
Form2.Show 1
Hasta que no pulsemos algún boton del formulario que le asigne un valor a la variable y oculte el formulario segundo, no podría continuar el procedimiento.
Menuda chapa, espero que te haya servido para algo
Un saludo