VBA Excel: ¿Cómo ejecutar una función para cada celda en una columna y recorrer todos los libros?

Esto es lo que tengo hasta ahora:

Sub TrimColumnD()
   Dim ws As Worksheet

   For Each ws In ThisWorkbook.Worksheets
   Dim c As Range
        For Each c In ActiveSheet.UsedRange.Columns("D").Cells
            c.Value = WorksheetFunction.Trim(c.Value)
        Next c
   Next ws

End Sub

La función de recorte solo funciona en las celdas de la primera hoja de trabajo, pero eso es todo. ¿Alguna sugerencia?

Gracias por adelantado