Mensaje : Grabado datos...

15/04/2005 - 23:24 por Patricio Ojeda | Informe spam
Hola *.*

Tengo una consulta es posible hacer pestañear un texto en un Userform ?

Ejemplo :

Tengo na macro que garba datos y aparece un mensaje : " Guardando Datos
Espere por Favor..."

El mensaje està en un objeto Label.

Desde ya agradezco sus respuestas

Atte

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
16/04/2005 - 03:14 | Informe spam
hola, Patricio !

... es posible hacer pestañear un texto en un Userform ?
... macro que graba datos y... un mensaje: " Guardando Datos Espere por Favor..."
... mensaje... en un objeto Label.



te tengo dos noticias... [solo 'para variar']... una buena, y otra 'mala' :((
-> como supongo que querras la buena primero...
SI es posible hacer que parpadee un control label en un formulario :D
-> 'la mala'... es:
NO cuando 'se entra' en procesos exclusivos y controlados solamente por la aplicacion
-> existen algunos procesos internos ->exclusivos<- de la aplicacion [como el guardar] con los cuales...
- el usuario NO puede 'interactuar'... NI SIQUIERA por macros
- [de hecho] las macros entran a un estado de 'stand-by' [suspension] mientras terminan esos procesos
-> prueba guardando por codigo un archivo que 'se tome su tiempo' con una macro tan 'sencilla' como la siguiente:
Sub MensajeGrabandoArchivo()
ActiveWorkbook.Save
MsgBox "Guardado."
End Sub
[veras que el mensaje NO aparece al iniciarse el proceso, sino -solamente- cuando ha terminado]

saludos,
hector.
Respuesta Responder a este mensaje
#2 Patricio Ojeda
18/04/2005 - 16:56 | Informe spam
Hola
Hector

Gracias por tu respuesta..., pero, me faltò indicar que el mensaje "Grabando
Datos..."(pestañeando), no lo requiero al Grabar el libro,sino ,cuando tomo
los datos y los copio en una hoja llamada "Base", generando una base plana.

Espero heberme expresado mejor..

Atte

Patricio Ojeda
Chile

"Héctor Miguel" escribió:

hola, Patricio !

> ... es posible hacer pestañear un texto en un Userform ?
> ... macro que graba datos y... un mensaje: " Guardando Datos Espere por Favor..."
> ... mensaje... en un objeto Label.

te tengo dos noticias... [solo 'para variar']... una buena, y otra 'mala' :((
-> como supongo que querras la buena primero...
SI es posible hacer que parpadee un control label en un formulario :D
-> 'la mala'... es:
NO cuando 'se entra' en procesos exclusivos y controlados solamente por la aplicacion
-> existen algunos procesos internos ->exclusivos<- de la aplicacion [como el guardar] con los cuales...
- el usuario NO puede 'interactuar'... NI SIQUIERA por macros
- [de hecho] las macros entran a un estado de 'stand-by' [suspension] mientras terminan esos procesos
-> prueba guardando por codigo un archivo que 'se tome su tiempo' con una macro tan 'sencilla' como la siguiente:
Sub MensajeGrabandoArchivo()
ActiveWorkbook.Save
MsgBox "Guardado."
End Sub
[veras que el mensaje NO aparece al iniciarse el proceso, sino -solamente- cuando ha terminado]

saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
19/04/2005 - 11:04 | Informe spam
hola, Patricio !

... el mensaje "Grabando Datos..."(pestañeando), no lo requiero al Grabar el libro
... sino cuando tomo los datos y los copio en una hoja llamada "Base", generando una base plana.



sin imaginarme siquiera los procesos que sigues para tomar y copiar los datos...
[ni el tiempo que les pudiera tomar], estoy suponiendo que utilizas algun/os 'For...Next' o similar/es ;)
el siguiente ejemplo 'contempla' un formulario con un control 'label' [que sera el mensaje titilante]
y un control 'commandbutton' [que al pulsarlo 'manda/ejecuta' los procesos del guardado]
-> toma nota que 'dentro' de los procesos del guardado, estoy 'llamando' a una funcion <-
dicha funcion 'recibe' un parametro para alternar los colores del control label del formulario
'llamada' que tendrias que ejecutar 'de cuando en cuando' [segun la forma de 'tus procesos']

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
en el modulo de codigo del formulario [para el commandbutton] ==Private Sub CommandButton1_Click()
GrabarLosRegistros ' <= por aqui el nombre de la macro que 'graba' los resistros '
End Sub
en un modulo de codigo 'normal' ==Option Private Module
Sub GrabarLosRegistros()
Dim Limite As Single
Limite = Timer + 10
UserForm1.Label1.Caption = " Grabando datos, por favor espera... "
Do
AnimarMensaje (Timer - Inicio) Mod 2
DoEvents
Loop While Timer < Limite
UserForm1.Label1.Caption = " Grabación finalizada ! "
End Sub
Function AnimarMensaje(ByVal Estado As Byte)
With UserForm1.Label1
If Estado = 0 Then
.BackColor = QBColor(4)
.ForeColor = QBColor(14)
Else
.BackColor = QBColor(14)
.ForeColor = QBColor(4)
End If
End With
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida