Saltar al contenido

Macro para sumar y consolidar conceptos de una planilla

publicado

Hola Buenos dias.

Necesito ayuda para terminar de implementar un macro.

el tema esta en que se consolide el total de horas normales simples y dobles en la misma fila y columna donde se ubica el nombre y el dia a calcular.

Adjunto mi avance el cual realiza el calculo por (dia o columna)

Adjunto una imagen de antes y despues.

Gracias por el apoyo

HORAS NORMALES,SIMPLES,DOBLES.txt

REPOTE PLANILLA.xls

post-181474-145877010865_thumb.jpg

post-181474-145877010866_thumb.jpg

Featured Replies

publicado

Hola, si entendi bien yo anotaria en cada fila de B el DNI y con sumaproducto o similar obtendria los totals, sin macro.

Si acaso usaria vba solo para automatizar la insercion del DNI y de la formula.

publicado
  • Autor

si he pensado en eso... pero el tema esta en que no siempre cumplen el misma cantidad de conceptos y no siempre están en el mismo orden. es allí donde nace el problema de calcular la sumatoria.

con respecto al ingreso de datos no existe ya que ese es un reporte donde el macro me calcula la sumatoria de todas las horas para poder cruzar información.

publicado

Los 2 puntos que mencionas no afectan la propuesta, para el primero sumaproducto puede trabajar con condicionales, tu Segundo comentario no lo entiendo, lo que menciono de automatizar es solo para facilitar llenar -en la table existente- los DNI y la formula propuesta.

El documento real es como tu ejemplo?

Con esas filas y columnas vacias?

publicado

Te serviria un ejemplo donde elimine las filas y columnas vacias?

No es indispensable eliminarlas pero simplificaria las cosas.

publicado
  • Autor

brindame un ejemplo por favor creo que estoy haciendo mal las condicionales......

publicado

Hola, intenta con esto basado en sumaproducto:

Sub SumPagos()
Application.ScreenUpdating = 0
Sheet2.Copy Before:=Sheets(1)
Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
[B1] = "DNI"
Columns(2).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=IF(RC[1]="""","""",1*RC[1])"
Columns(2).SpecialCells(xlCellTypeFormulas, 16).FormulaR1C1 = "=R[-1]C"
For Each Area In Columns(4).SpecialCells(xlCellTypeConstants, 2).Areas
Cells(Area.Row, 4).Offset(, 2).Resize(, 9).FormulaR1C1 = _
"=SUMPRODUCT((R[1]C1:R[39]C1={""001"",""020"",""021""})*(R[1]C2:R[39]C2=RC2)*R[1]C:R[39]C)"
Next
Columns("F:N").Value = Columns("F:N").Value
Columns(2).Clear
Application.ScreenUpdating = 1
End Sub
[/CODE]

Archivado

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