Ce n'est donc pas TA fonction Hour, mais celle de VBA.
Cette fonction doit recevoir en paramètre une date/heure ou une heure, pas une différence (qui serait un simple numérique)
On prend par ailleurs la bonne habitude de toujours déclarer la propriété que l'on utilise (Range("...") .Value)
Enfin et surtout : l'utilisation toute bête de la fonction Datediff de VBA te permet d'extraire d'un seul coup la durée, dans les unités de ton choix, entre deux date/time. Utilise-la donc, plutôt que de réinventer l'eau chaude.
Sans compter que l'utilisation de Excel seul (formule) serait ici suffisante (pas de VBA nécessaire).