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, la solución más sencilla es confiar en la función InputBox. A diferencia de MsgBox, InputBox incluye parámetros de opción para especificar una ubicación.

Aquí tienes un ejemplo:

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 (10030) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

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