Radio Aportaciones NO PUEDO CONTRA ESTE SENTIMIENTO
REGLAMENTO DE USO (31 Mar 2011)

Recordatorio a todos los usuarios de los foros:

5. Está prohibido transmitir a través de estos foros cualquier contenido (información, datos, gráficos, texto, archivos, ligas, software u otro material) que viole cualquier derecho de propiedad industrial o intelectual. Se requiere mencionar al autor y el medio de publicación cuando se haga una referencia editorial.

problema con SATIC-2

Más
16 años 1 mes antes #63180 por ByPaco
Le platico un problema y mi solución para ello, tengo un programa de nóminas que importa los archivos de las obras al formato de SATIC5 (cosa que ayuda mucho), con un conveniente, me separa las hojas en carpetas individuales por obra y departamento (según mi configuración), por ejemplo tengo una obra con tres departamentos y me genera una carpeta con la obra y departamento 1, otra de la misma obra pero departamento 2. mi solución es tomar el departamento 1 y pegar toda la información de los otros departamentos ahí, y lo que pasaba es que me ponia a un trabajador que hubiera estado trabajando en dos departamentos duplicado (con sus respectivos dias por departamento), para solucionar hice esta macro que recorre todos los datos y si hay uno igual suma los dias y elimina el duplicado, se las dejo a ver si les es de utilidad
Code:
Sub DepuraSatic5() 'macro para depurar los datos de trabajadores 'después de unir varios archivos de la misma obra 'de la relacion SATIC-5 '2010.06.18 ByPaco Dim NumFil As Variant Dim Cel1 As String NumFil = ActiveCell.CurrentRegion.Rows.Count 'contamos el total de filas del rango n = ActiveCell.Row u = 1 Do Until n = NumFil Cel1 = Cells(n, 3).Value u = n + 1 Do Until u = NumFil 'hacer hasta el NumFil Cel2 = Cells(u, 3).Value If Cel1 = Cel2 Then 'si los nombres son iguales, entonces... val1 = Cells(n, 5).Value 'copiamos valor de la primera celda val2 = Cells(u, 5).Value 'copiamos valor de la segunda celda Cells(n, 5) = val1 + val2 'sumamos los valores y lo pegamos en la primera celda Cells(u, 1).EntireRow.Delete 'eliminamos la fila del segundo valor NumFil = NumFil - 1 'como eliminamos una fila corregimos el total de las mismas u = u - 1 End If u = u + 1 Loop n = n + 1 Loop Call Numera End Sub Sub Numera() Dim fil As Variant fil = ActiveCell.CurrentRegion.Rows.Count n = ActiveCell.Row 'n = 1 o = ActiveCell.Row - 1 Do Until n = fil Cells(n, 2).Value = n - o n = n + 1 Loop End Sub

« Antes de que los reinos cambien, los hombres deberán cambiar »

Por favor, Conectar para unirse a la conversación.

Tiempo de carga de la página: 0.307 segundos
Gracias a Foro Kunena