Barra de progreso

Hola Elsa, mi pregunta se refiere a la utilización de barras de progreso en excel. Yo puedo insertar una desde la barra de controles, pero no puedo hacerla funcionar. La idea es que se active al ejecutarse una macro, de esta manera se obtendría un efecto más vistoso y profesional.
Aguardo tu respuesta,
saludos cordiales,
Carlos

1 Respuesta

Respuesta
1
El siguiente ejemplo utiliza una barra para ir mostrando el avance mientras se llenan unas celdas con datos. La propiedad Max del progressBar se estableció en 500 (este valor lo ajustarás según la duración de tu rutina)
Sub progreso()
Dim i As integer
For i = 1 To 500
?se realizan cálculos en celdas
Cells(i, 1) = i
Cells(i, 2) = i * i
Cells(i, 3) = Sqr(i)
Sheets("Hoja3").ProgressBar1.Value = i
Next
?ocultar la barra
Sheets("Hoja3").ProgressBar1.Visible = False
End Sub
Saludos y no olvides finalizar
Elsa
La macro casi funciona, la inserte tal cual esta en la respuesta y no funciono. Le agregue una instrucción sheets (hoja3). select y ahi si.
Pero se detiene en la instrucción
Sheets("Hoja3").ProgressBar1.Value = i
Quedando pintada de amarillo.
Inserte la barra en la hoja 3 y al ejecutar la macro se puede apreciar en funcionamiento, pero se detiene donde te dije dándome el mensaje de error
El objeto no admite esta propiedad o método.
La macro quedo así
Sub progreso()
Dim i As Integer
For i = 1 To 500
Cells(i, 1) = i
Cells(i, 2) = i * i
Cells(i, 3) = Sqr(i)
Sheets("Hoja3").Select
Sheets("Hoja3").ProgressBar1.Value = i
Next
Sheets("Hoja3").ProgressBar1.Visible = False
End Sub
Un saludo,
Carlos
Vayamos por partes:
La rutina está pensada para ser ejecutada 'desde' la Hoja3 donde habrá un ProgressBar (asegúrate el número para ajustar la rutina) y cuya propiedad Max la establecí en 500
La instrucción del Select que agregaste debe ir al inicio, antes del bucle y solo a efectos de asegurarte que trabaje en esa hoja.
(Si llamás a la rutina desde esa hoja ni hace falta agregarla)
Sub progreso()
Dim i As Integer
Sheets("Hoja3").Select
For i = 1 To 500
Se seguís estas indicaciones funciona seguro.
Saludos y no dejes de comentarme cómo te fue
Elsa
Disculpa tanta insistencia, pero aun me devuelve el error.
Al ejecutarse la macro, aparece un mensaje diciendo:
Se ha producido el error 380 en tiempo de ejecución
invalid property value
y al abrir el editor aparece la instruccion:
Sheets("Hoja3").ProgressBar1.Value = i
Pintada de amarillo.
Desde ya muchas gracias por tu tiempo, y nuevamente disculpa mi insistencia.
Eso se deberá a que i toma un valor que la propiedad Max no lo contempla. (¿Te acordaste de establecerla en 500? )
Dejame un correo o escribime al mío (lo encontrarás en la página al pie) para que te envíe el ejemplo que a mi no me presenta error.
Hola Elsa, coloque el valor máximo a 500 en la barra de progreso pero me pone desbordamiento.
Seria bueno que me mandes tu archivo.
mi correo es [email protected]
Un gran abrazo,
Carlos
El archivo fue enviado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas