Eccomi qui e scusa l'attesa.
Il problema nasce quando (come nell'ultimo file) hai una data sola che pertanto non viene inserita in un array di valori, ma rimane - dopo il raggruppamento - come un solo valore di tipo double.
La soluzione che consiglio è di intercettare il cambio di tipo della variabile "v" e forzarla ad Array e non lo è.
Nel codice fai quindi questa modifica (metti l'If subito prima del For):
Worksheets("Per gli spedizionieri").Range("A:B").Clear
If VarType(v) <> vbArray + vbVariant Then v = Array(v)
For Each d In v