Sumar horas de varias columnas
-Tengo creada una macro para que me sume las horas de varias columnas.
Hora entrada mañana; hora salida mañana y suma horas mañana; hora entrada tarde; hora salida tarde y suma horas tarde - y por último suma de horas.
La macro que tengo hace correctamente el trabajo, el único fallo que tiene es que si hago un turno solo de mañana o de tarde entonces me da error.
Espero que me podáis ayudar. Muchas gracias como siempre.
-Este es el código de la macro:
Sub sumarHoras(controal As IRibbonControl) Application.ScreenUpdating = False Dim baseM As Range, baseT As Range With Worksheets("calendarioanual").Range("d10").CurrentRegion With .Offset(1).Resize(.Rows.Count - 1) .Columns(6).ClearContents .Columns(9).ClearContents .Columns(10).ClearContents Set baseM = .Columns(5).SpecialCells(xlCellTypeConstants).EntireRow Set baseT = .Columns(8).SpecialCells(xlCellTypeConstants).EntireRow 'Aqu? me salta el error cuando solo pongo horas de ma?ana With Intersect(baseM, .Columns(6)) .Formula = "=" & .Cells(1).Offset(, -1).Address(0, 0) & _ "-" & .Cells(1).Offset(, -2).Address(0, 0): End With With Intersect(baseT, .Columns(9)) .Formula = "=" & .Cells(1).Offset(, -1).Address(0, 0) & _ "-" & .Cells(1).Offset(, -2).Address(0, 0): End With With Intersect(baseM, .Columns(10)) .Formula = "=" & .Cells(1).Offset(, -4).Address(0, 0) & _ "+" & .Cells(1).Offset(, -1).Address(0, 0): End With With .Columns(6): .Value = .Value: End With With .Columns(9): .Value = .Value: End With With .Columns(10): .Value = .Value: End With End With End With End Sub