Leonard se pregunta si, al mostrar un cuadro de mensaje en una macro, hay una forma de forzar que el cuadro aparezca en una ubicación específica en la pantalla.

No hay forma de hacer esto, ya que la función MsgBox no incluye ninguna forma de especificar una ubicación. En cambio, Excel muestra el cuadro de mensaje centrado en la pantalla. Si necesita la capacidad de colocar la caja, entonces la solución más sencilla es confiar en la función InputBox:

sName = InputBox(Prompt:="Enter your name", XPos:=2880, YPos:=1440)

Tenga en cuenta que puede especificar tanto una posición X como una posición Y para la esquina superior izquierda del cuadro. Los valores asignados a estos parámetros se miden desde la esquina superior izquierda de la pantalla y se especifican en twips. (Hay 1440 twips en una pulgada.)

Un cuadro de entrada, por supuesto, espera que el usuario proporcione información, mientras que un cuadro de mensaje no lo hace. Si no desea confundir potencialmente a sus usuarios solicitando información cuando en realidad no se necesita ninguna, deberá crear un formulario de usuario para simular un cuadro de mensaje.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (10028) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.

Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Specifying_Location_for_a_Message_Box [Especificación de la ubicación para un cuadro de mensaje].