01/02/2011, 11:54
|
| | | Fecha de Ingreso: marzo-2007 Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 8 meses Puntos: 88 | |
Ayuda!!! suma de dias de un rango de fechas que se traslapan o no En ese caso se simplifican las cosas. Por ejemplo, para una estructura de datos como:
podrías intentar:
Código vb:
Ver originalSub Macro787() Dim LastRow As Long, C As Range Application.ScreenUpdating = False ' Determino última fila LastRow = [a1].End(xlDown).Row ' Para el cálculo necesito que las columnas A y B estén ordenadas. Range("A1:B" & LastRow).Sort Key1:=[a1], Order1:=xlAscending, _ Key2:=[b1], Order2:=xlAscending, Header:=xlNo [AM1:AN1] = [a1:b1].Value For Each C In Range("A2:A" & LastRow) Select Case C < [an65536].End(xlUp) Case True If C.Offset(, 1) > [an65536].End(xlUp) Then [an65536].End(xlUp) = C.Offset(, 1) Case False [am65536].End(xlUp).Offset(1).Resize(, 2) = C.Resize(, 2).Value End Select Next C ' Muestro el dato en D1 With [am65536].End(xlUp) [d1] = Evaluate("SUMPRODUCT( 1 + AN1:AN" & .Row & " - AM1:AM" & .Row & ")") End With ' Elimino columnas AM:AN pues cumplieron su cometido [AM1:AN1].EntireColumn.Delete Application.ScreenUpdating = True End Sub
¿Es lo que estabas buscando?
Saludos, Cacho.
Última edición por mrocf; 01/02/2011 a las 12:04 |