Inicio > Microsoft Excel > fejoal > Cuadros de Dialogo / Mensajes VBA

Cuadros de Dialogo / Mensajes VBA

Experto:
Usuario:
Fecha: 08/04/2008
Valoración: (4,00 sobre 5) Categoría: Microsoft Excel
05/06/2003
vickyacosta, usuario preguntando en Microsoft Excel
Usuario
Holas!
Te cuento que hace ya un tiempo que trabajo con macros, hago de todo un poco, tomando en cuenta que no soy programadadora me va bastante bien, el hecho es que para operar una de las macros que he creado, necesito un cuadro de diàlogo o formulario donde pueda ingresar el usuario la informacion basica para correr la macro, pero eso no tengo ni idea de cómo hacerlo. Generalmente tomo esta informaciòn de la hoja de càlculo pero esta vez necesito hacerlo desde un cuadro de dialogo...
En si es un cuadro donde pueda seleccionar el Año, mes, dìa inicial y final e ingresar valores para variables
Espero que me puedas ayudar.
Muchisisimas gracias
Vi
06/06/2003
vickyacosta, experto respondiendo en Microsoft Excel
Experto
Hola, Vi

Bienvenida al club de los que hacemos ejercicio ilegal de la programación sin ser programadores.

Respecto a tu inquietud, si sólo se trata de tomar dos fecha que deba ingresar el usuario, bastaria conque uses dos inputbox o cuadros de diálogo.

Así:

Sub fechas()
Fechaini = CDate(InputBox("Formato de ingreso: Dia/Mes/Año" & Chr(10) & "(ej: 24/07/2003)", "INGRESE FECHA INICIAL, por favor"))
FechaFin = CDate(InputBox("Formato de ingreso: Dia/Mes/Año" & Chr(10) & "(ej: 15/08/2003)", "INGRESE FECHA FINAL, por favor"))
With Range("D2")
.Value = Fechaini
.NumberFormat = "dd/mm/yyyy"
End With
With Range("D3")
.Value = FechaFin
.NumberFormat = "dd/mm/yyyy"
End With
End Sub

Pide ambas fechas y las coloca en las celdas indicadas, formateandolas como fecha.

Si, en cambio, el proceso amerita que incurras en un formulario, el procedimiento es un tanto más complejo

Voy a tratar de ser lo más claro posible pero te adelanto que es complicado explicarlo por esta vía, aunque en sí no es difícil armar tal cuadro de dialogo.

Lamento que no hayas aclarado qué tienes que hacer especificamente con los datos ingresado...(Los vuelcas a alguna celda? ¿Es una carga continua de datos que se deben ir acomodando en una base? ¿Esos datos sólo sirven para que una macro los utilice más adelante? etc.)

En el VBE inserta un formulario. Automáticamente tendrás un panel de diseño y una barra de herramienta con controles a agregar a tal panel.

Presiona el icono de Cuadro de Texto (TextBox) y dibuja dos. Uno para la primera fecha y otro para la final

Selecciona el correspondiente a Botones de comando y dibuja dos. Uno de ellos será el tradicional botón de Aceptar y el otro para Cancelar.

Puedes agregarle etiquetas (labels) para que muestren mensajes o indicaciones de qué va en cada campo.

Dando doble click sobre el primer botón ("Aceptar") te llevará al panel de declaraciones para que le indiques qué hacer al presionar tal botón.

Por ejemplo:

Private Sub CommandButton1_Click()
Fechaini = CDate(TextBox1.Value)
FechaFin = CDate(TextBox2.Value)
With Range("D2")
.Value = Fechaini
.NumberFormat = "dd/mm/yyyy"
End With
With Range("D3")
.Value = FechaFin
.NumberFormat = "dd/mm/yyyy"
End With
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub


---

Como ves están asignados los programas para ambos botones. El primero toma los valores de los textbox y los pega en la hoja.
El segundo cancela el formulario.

Si quieres hacerlo aún más amigable para el usuario (lo cual necesariamente imlica más programación), puedes agregar otro par de botones de comando al lado de los textbox, para que llamen a un calendario y seleccionen la fecha desde allí.
Esto implicaría que insertes otro formulario y le incorpores un control especial llamado "Calendar" y otro duo de botones "Aceptar" y "Cancelar"

Este control de Calendario debe estar habiltado. Tienes que entrar por la opción de menú "Herramientas" | "Referencias" y marcar el control "Microsoft Calendar Control 8.0" o la versión que tengas.

Pero bueno, esto ya depende de tí.

Espero haberte ayudado.
Si así fuera, agradeceré un comentario y que la finalices.
(Recuerda que mantener cierto número de respuestas pendientes impide que otros usuarios puedan consultarme)

Un abrazo!
Fernando

"Me lo explicaron y lo olvidé,
lo leí y lo entendí,
lo hice y lo aprendí".

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
A cambio de mi tiempo, sólo te pido dos cosas:
- Finaliza (con puntaje y comentario) esta pregunta
- Ingresa al sitio www.porloschicos.com y, si quieres,
presiona el botón de donación (es gratis).
Confío en que lo harás. Por ambas cosas, muchas gracias.

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
09/06/2003
vickyacosta, usuario preguntando en Microsoft Excel
Usuario
Muy Bien. Me ha sido de gran utilidad
08/04/2008
vickyacosta, usuario preguntando en Microsoft Excel
Usuario
la perdida cuenta otra version distinta. Exulpandose de la desaparicion del bolso, entonces el encargado, para solucionar el problema.. me dice que me da una botella de Ron y apañado!!! Alucinante!
Se que con la denuncia no voy a llegar a ningun sitio, por eso pido ayuda, por si alguien supiera que es lo que puedo hacer para recueprar al menos el valor de lo que había en el bolso.
Mil millones de gracias!!!
 
Bss!!
Enlaces patrocinados