En principio, una macro puede mostrar cualquier cuadro de diálogo estándar de Excel mediante la siguiente instrucción:
Applicatiion.Dialogs(número).Show
Donde número es un número que indica el cuadro de diálogo que se mostrará. Por ejemplo, cuando número es igual a 1, aparece el cuadro de diálogo correspondiente a abrir un libro. Cuando número es igual a 84, aparece el cuadro correspondiente al color de relleno de una celda.
En general, no es necesario conocer los números correspondientes a cada cuadro porque, cuando estamos escribiendo la instrucción, se descuelga una lista con todos los valores posibles, como nombres de constantes de Excel. Por ejemplo, la constante correspondiente al cuadro de abrir un libro es: xlDialogOpen.
Si no encontramos el cuadro de diálogo buscado, podemos hacer nuestra propia lista con esta macro:
Sub dialogos() On Error Resume Next For i = 1 To 1000 Application.Dialogs(i).Show MsgBox (“Valor= “ & i) Next End Sub
Esta macro muestra todos los cuadros posibles para valores de 1 a 1000, seguidos del valor correspondiente a cada uno. Podemos hacer avanzar la macro paso a paso (oprimiendo la tecla <Esc> con cada cuadro) hasta encontrar el cuadro buscado.
Como no todos los valores tienen un cuadro asociado, incluimos en la macro la instrucción On Error Resume Next para que la macro “pase por alto” los valores no asociados a cuadros y que producirían un error en la ejecución.