Visual Basic para Aplicaciones - Ocultar desarrollo

Life is soft - evento anual de software empresarial
 
Vista:

Ocultar desarrollo

Publicado por Lupita (15 intervenciones) el 05/10/2006 23:36:17
Hola chicos:

Mis macros son por lo regular en Excel, que son de mucho desarrollo, cosas como copiar y pegar unas ochorrocientas mil veces, la pregunta es ¿Puede efectuar el desarrollo sin necesidad de mostrar todo lo que hace?

Algo asi como una pantalla de diga Espere... mientras detras y sin que el usuario lo vea se desarrolle la macro.

Muchas gracias

Lupita
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ocultar desarrollo

Publicado por JuanC (243 intervenciones) el 06/10/2006 00:34:56
Algo sencillo sería así:

Sub Proceso()
Dim sbMsg$
Application.ScreenUpdating = False
sbMsg = Application.StatusBar
Application.StatusBar = "Por favor espere..."

'Proceso largo

Application.StatusBar = sbMsg
Application.ScreenUpdating = True
End Sub

Algo más complejo sería un formulario con una muestra del progreso
del trabajo en cuestión y que permita cancelar la operación...

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar desarrollo

Publicado por Lupita (15 intervenciones) el 08/10/2006 21:07:52
¡¡ Muchas Gracias !!

Ahora si no es mucha molestia, ya le agregue el formulario y contiene una control ActiveX para una barra de progreso, el problema es que no se como usarlo, espero y me puedas ayudar

Hasta Pronto.

PD, si conocieras la funcion que me da el valor mayor en una serie de datos, te lo agradeceria mucho.


Lupita
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar desarrollo

Publicado por JuanC (243 intervenciones) el 09/10/2006 00:15:33
El control Activex debe estar instalado/registrado en el sistema, además
-obviamente- de que debe existir el archivo que lo contiene (normalmente .ocx)
Luego debe estar "habilitado" dentro de las Referencias del Editor VB de Excel
y por último usarlo como cualquier otro componente visual estándar...
(Para registrar un control .ocx o .dll se utiliza el ejecutable REGSVR32.EXE de Windows)

Respecto a la función, la que necesitás es MAX (función estadística)

PD: si no es realmente necesario no uses el activex, quizá te quite recursos
que son necesarios para el mejor desempeño de la aplicación
y además si tenés que transportar tu "programa" a otra PC, tenés que llevar y
registrar el componente... trabajo extra...

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar desarrollo

Publicado por Lupita (15 intervenciones) el 09/10/2006 01:47:02
Ok Gracias por el consejo, pero con respecto a MAX no funcion en Visual, es decir, funciona para hacer los arreglos en celdas de excel, pero para manipular datos con codigo no te lo acepta y tuve que crear un codigo, que aunque es pequeño, puede que alguna vez falle.

If miFecha1 > miFecha2 Then
miMax1 = miFecha1
Else
miMax1 = miFecha2
End If

If miFecha3 > miFecha4 Then
miMax2 = miFecha3
Else
miMax2 = miFecha4
End If

If miFecha5 > miFecha6 Then
miMax3 = miFecha5
Else
miMax3 = miFecha6
End If

If miMax1 > miMax2 Then
miMax = miMax1
Else
miMax = miMax2
End If

If miMax < miMax3 Then miMax = miMax3
If miMax < miFecha7 Then miMax = miFecha7
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar desarrollo

Publicado por JuanC (243 intervenciones) el 09/10/2006 18:35:47
Para usar una función (no todas) de Excel en VBA

Application.WorksheetFunction

Ej: nMaximo = Application.WorksheetFunction.Max(1, 2, 3)

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar