Sobre progress bar

22/11/2005 - 22:29 por Oscar | Informe spam
Hola, espero que esten todos bien

Tengo una duda, he tratado de aplicar una barra de progreso a una
'aplicacion' que estoy tratando de de mejorar. Lo que hace es lo siguiente:

1.- Al abrirse el libro abre 10 archivos -- sin problema
2.- Activa la hoja de acuerdo al dia en que estamos en los 10 archivos --
sin problema

He intentado colocar la barra de progresso que usa Walkenbach pero la macro
que utiliza creo que no es la indicada ya que se basa en insertar numeros
aleatorios de acuerdo al cierto numero de filas, lo que no se es como debo
modificar el codigo que el nombar main...
Sub Main()
' Inserts random numbers on the active worksheet
Dim Counter As Integer
Dim RowMax As Integer, ColMax As Integer
Dim r As Integer, c As Integer
Dim PctDone As Single

If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
Cells.Clear
Application.ScreenUpdating = False
Counter = 1
RowMax = 100
ColMax = 25
For r = 1 To RowMax
For c = 1 To ColMax
Cells(r, c) = Int(Rnd * 1000)
Counter = Counter + 1
Next c
PctDone = Counter / (RowMax * ColMax)
With UserForm1
.FrameProgress.Caption = Format(PctDone, "0%")
.LabelProgress.Width = PctDone * (.FrameProgress.Width - 10)
End With
' The DoEvents statement is responsible for the form updating
DoEvents
Next r
Unload UserForm1
End Sub

La macro, segun deduzco, por cada libro abierto deberia aumentar la barra de
progreso hasta el 50 por ciento, y el 50% restante deberia aumentar por cada
hoja que se active, son 10 archivos.

Perdon, pero no he sabido como adecuar y declarar las cosas, para que esa
macro funcione.

Mil gracias de antemano
Saludos desde Mexico

Preguntas similare

Leer las respuestas

#6 Oscar
24/11/2005 - 16:16 | Informe spam
Hola Héctor, buen dia:

Todo bien, funciona sin problema al abrir el primer libro, sin embargo, se
detiene en
la macro que actualiza, dice que ocurre el error 11 en tiempo de ejecución
'no se puede dividir en 0' mire la ayuda y dice:

División por cero (Error 11)


La división por cero no es posible. Las causas y posibles soluciones de este
error son las siguientes:

El valor de la expresión que se está usando como divisor es cero
Compruebe la ortografía de las variables en la expresión. El nombre de una
variable mal escrito puede crear implícitamente una variable que es
inicializada en cero. Compruebe las operaciones previas con las variables en
la expresión, especialmente aquéllas pasadas al procedimiento como argumentos
desde otros procedimientos.

Se detiene en esta linea:

Porc = Avance / Total

Debo mencionar que no se me hace logico que diga que tiene un valor 0 porque
cuando coloco el cursor sobre el marcador amarillo, aparece 1...

Mil gracias por tu apoyo
Oscar
Saludos desde México
Respuesta Responder a este mensaje
#7 Oscar
24/11/2005 - 17:45 | Informe spam
Hola Héctor otra vez yo :))

Probando la macro al iniciar, resulta que si al Msgbox se le indica que no
corre la misma macro que me hiciste favor de hacer... y la idea original es
que al decir que no solo apareciera el formulario pero ya no abriera
archivos, es decir yo lo haria manual : L . Supongo que es porque la macro
tiene la indicacion 'Activate', por lo que al activarse este corre la
macro... creo que te voy a enviar el archivo a tu correo si me lo permites...
me confirmas tu correo, por favor
Private Sub Workbook_Open()

If MsgBox("Buenos dias", vbYesNo, "Como abrir archivos?") = vbYes Then

'Application.ScreenUpdating = False

'ShowDialog

Openbooks
'test
'Main
Openlibrobooks
'UserForm1.Hide
'Windows("Macros112.xls").Activate
Else
UserForm1.Show
End If
End Sub

Gracias de nuevo
Oscar
Saludos desde México
Respuesta Responder a este mensaje
#8 Héctor Miguel
24/11/2005 - 21:47 | Informe spam
hola, Oscar !

... al iniciar, resulta que si al Msgbox se le indica que no... corre la misma macro
... y la idea original es que al decir que no solo apareciera el formulario pero ya no abriera archivos
es decir yo lo haria manual : L . Supongo que es porque la macro tiene la indicacion 'Activate'
... creo que te voy a enviar el archivo a tu correo si me lo permites... me confirmas tu correo [...]



solo quita de la direccion que aparece el 'NO...SPAM...PLS' ;)
- lo de la division:0... no lo detecto en el codigo que te propuse [lo probe antes] :-(
quizas algun otro evento -?-
- lo de la NO apertura al contestar que no... necesitaria conocer 'los formularios' :))

saludos,
hector.
Respuesta Responder a este mensaje
#9 Oscar
25/11/2005 - 15:57 | Informe spam
Hola Héctor

Te envie el archivo el dia de ayer, me confirmas si lo recibiste
Oscar
Saludos desde México


"Héctor Miguel" escribió:

hola, Oscar !

> ... al iniciar, resulta que si al Msgbox se le indica que no... corre la misma macro
> ... y la idea original es que al decir que no solo apareciera el formulario pero ya no abriera archivos
> es decir yo lo haria manual : L . Supongo que es porque la macro tiene la indicacion 'Activate'
> ... creo que te voy a enviar el archivo a tu correo si me lo permites... me confirmas tu correo [...]

solo quita de la direccion que aparece el 'NO...SPAM...PLS' ;)
- lo de la division:0... no lo detecto en el codigo que te propuse [lo probe antes] :-(
quizas algun otro evento -?-
- lo de la NO apertura al contestar que no... necesitaria conocer 'los formularios' :))

saludos,
hector.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida