Saltar al contenido

Barra de Progreso según Información


SALAVERRINO

Recommended Posts

Buenas tardes a los miembros de esté foro, en esta ocasión recurro a Uds, para que brinden su apoyo en un contador que vaya en el Workbook_Open, en donde se cuente la cantidad de registros que sería a partir de la B8 hasta el final (en este caso tiene 181 registro o podría ser) y que al presionar el boton de Fusionar Consolidado con la macro que indico, se procese los registros como indica en la Contar.png y al culminar dicha fusión, se muestre el mensaje como la Culminado.png.

Sub FusionarRetribuciones(): On Error Resume Next
Dim Documento As String, Fila As Long
Hoja3.Range("A8").Resize(Hoja3.Range("B" & Rows.Count).End(xlUp).Row + 2, 43).Clear
Application.ScreenUpdating = False
Fila = 7
For x = 8 To Hoja1.Range("B" & Rows.Count).End(xlUp).Row
If CStr(Hoja1.Range("B" & x)) <> Documento Then
Fila = Fila + 1
Hoja1.Rows(x).Copy Hoja3.Rows(Fila)
Documento = Hoja1.Range("B" & x)
Else
If Hoja1.Range("D" & x) < Hoja3.Range("D" & Fila) Then
Hoja3.Range("D" & Fila) = Hoja1.Range("D" & x)
End If
If Hoja1.Range("E" & x) > Hoja3.Range("E" & Fila) Then
Hoja3.Range("E" & Fila) = Hoja1.Range("E" & x)
End If
For y = 6 To 43
Hoja3.Cells(Fila, y) = Hoja3.Cells(Fila, y) + Hoja1.Cells(x, y)
If Hoja3.Cells(Fila, y) = 0 Then Hoja3.Cells(Fila, y) = ""
Next
End If
Next
Hoja1.Rows(x).Copy Hoja3.Rows(Fila + 1)
For y = 11 To 42
Hoja3.Cells(Fila + 1, y).FormulaR1C1 = "=SUM(R[-" & Fila - 7 & "]C:R[-1]C)"
Next
Hoja3.Cells(Fila + 1, 35) = ""

Application.Speech.Speak "Consolidado terminado"
MsgBox ("Consolidado terminado"), , "AVISO"
Range("A4").Select

End Sub

Por lo que desde ya agradezco su colaboración y ayuda. Gracias.

CONTAR.png

CULMINADO.png

FUSIONAR1.png

Enlace a comentario
Compartir con otras webs

@SALAVERRINO , siempre es mucho mejor subir un resumen de tu archivo que una imagen, en estas no se puede depurar código ;)

Mirando por encima tu código, te dejo un ejemplo con los contadores insertados en los puntos que creo que deben ir, uno dependiendo de "Fila" y otro de "x", en función de los condicionales que tienes, pero si no son así, ya tienes la idea de cómo realizarlo:
 

Sub FusionarRetribuciones(): On Error Resume Next
Dim Documento As String, Fila As Long
Hoja3.Range("A8").Resize(Hoja3.Range("B" & Rows.Count).End(xlUp).Row + 2, 43).Clear
Application.ScreenUpdating = False

uF=Hoja1.Range("B" & Rows.Count).End(xlUp).Row

Fila = 7
For x = 8 To Hoja1.Range("B" & Rows.Count).End(xlUp).Row
If CStr(Hoja1.Range("B" & x)) <> Documento Then
Fila = Fila + 1
Hoja1.Rows(x).Copy Hoja3.Rows(Fila)
Documento = Hoja1.Range("B" & x)

Application.StatusBar="Consultando... " & Fila & "de " & uF & " - El proceso aun no termina"

Else
If Hoja1.Range("D" & x) < Hoja3.Range("D" & Fila) Then
Hoja3.Range("D" & Fila) = Hoja1.Range("D" & x)
End If
If Hoja1.Range("E" & x) > Hoja3.Range("E" & Fila) Then
Hoja3.Range("E" & Fila) = Hoja1.Range("E" & x)
End If
For y = 6 To 43
Hoja3.Cells(Fila, y) = Hoja3.Cells(Fila, y) + Hoja1.Cells(x, y)
If Hoja3.Cells(Fila, y) = 0 Then Hoja3.Cells(Fila, y) = ""
Next
End If
Next
Hoja1.Rows(x).Copy Hoja3.Rows(Fila + 1)
For y = 11 To 42
Hoja3.Cells(Fila + 1, y).FormulaR1C1 = "=SUM(R[-" & Fila - 7 & "]C:R[-1]C)"

Application.StatusBar="Consultando... " & x & "de " & uF & " - El proceso aun no termina"

Next
Hoja3.Cells(Fila + 1, 35) = ""

Application.StatusBar="Se realizaron todas las Consultas"

Application.Speech.Speak "Consolidado terminado"
MsgBox ("Consolidado terminado"), , "AVISO"
Range("A4").Select

End Sub

 

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 93 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • No va a ser necesario distinguir el tipo de proceso entre 1 y 2. Revisa el adjunto a ver si es eso lo que quieres. Function MediaAttention(mImp As Range, _ q25 As Range, q50 As Range, _ Optional q75 As Range, _ Optional q100 As Range) As Double '-- Opción 1 If q75 Is Nothing And q100 Is Nothing Then MediaAttention = q25 / q50 Exit Function End If '-- Opción 2 MediaAttention = ((0.25 * (q25 - q50)) / mImp) + _ ((0.5 * (q50 - q75)) / mImp) + _ ((0.75 * (q75 - q100)) / mImp) + _ (q100 / mImp) End Function   Media Attention Formula 1.2.xlsb
    • Gracias tomarse el tiempo de leer por responder Maestro @Antoni Adjunto el archivo con la idea a la que deseo llegar, sigo atento. Mil gracias por el tiempo y la ayuda brindada   Media Attention Formula 1.2.xlsb
    • He analizado la UDF y entiendo perfectamente lo que hace, lo que no entiendo es lo que pretendes hacer. Mejor sube un ejemplo resuelto de  como debería funcionar la UDF con los nuevos parámetros solicitados. 
    • Gracias, ya lo conseguí solucionar
    • Hola a todos Primero que nada deseo agradecer el tiempo en leer este post, Muchas Gracias. Me acerco a ustedes para pedir su ayuda para lo siguiente: Tengo una UDF, la cual tiene dos escenarios: 1.- Si Tiempo Promedio y Duración del Video son diferentes de 0, hacer el calculo 2.- Si lo anterior es igual a 0, se realiza el otro calculo por cuartiles. El detalle es que son muchas celdas a seleccionar, lo cual creo puede ser engorroso, entonces, pensando en simplificar la función, me pregunte si fuera posible: a.- Colocar 1 al principio de la función y después solo seleccionar 2 celdas correspondientes (Rango continuo o discontinuo) b.- Colocar 2 al principio de la función y después seleccionar las 5 celdas correspondientes (Rango continuo o discontinuo) Espero me puedan ayudar y/o orientar al respecto, quedo atento para cualquier duda, de antemano les agradezco cualquier ayuda brindada. Mil Gracias!! Media Attention Formula 1.1.xlsb  
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.