0
votes

Comment puis-je convertir du temps (fuseau horaire)

Je veux convertir le fuseau horaire avec une différence de 15 heures dans Excel. Je peux faire dans la feuille Excel par l'équation suivante:

 =E1-(15/24)


3 commentaires

Daadd ("H", -15, DT)


Vous pouvez utiliser exactement la même logique que vous avez déjà (ou supérieure à Kevin) dans une macro. Il vous suffit de changer E1 avec une plage VBA (comme plage ("E1") )


@Kevin Comment puis-je appliquer daadd ("h", -15, dt) à la gamme d'une autre colonne? Lorsque j'applique Sous Timezone () Date DT comme date dt = plage ("E3: E11") Plage ("M3: M11") = Daadd ("H", -15, DT) End Sub montre-moi une erreur.


3 Réponses :


0
votes

Il suffit d'échanger des références Excel E1 pour les références VBA plage ("E1")


plage ("E1") = plage ("E1") - (15/24)


3 commentaires

Je ne peux pas vous aider beaucoup avec cette information. Le type d'erreur aiderait ....


Donc, vous valorisez dans la plage ("E1") peut ne pas être une date mais est plutôt un texte qui ressemble à une date. Il existe Beaucoup de solutions sur ce site peuvent vous aider à résoudre ce problème


Eh bien, il n'y a pas assez d'informations pour que je commence à déboguer. Essayez de poster une autre question avec votre nouveau code et d'expliquer le problème spécifique que vous avez (quelle ligne le code échoue) et affiche les données d'échantillon associées à l'échec



1
votes

localTime = plage ("E1") - (15/25) fonctionnera exactement le même, mais il y a une condition.

E1 doit contenir une valeur de date / heure qui est un numéro avec des décimales, comme 43886.5 qui présenterait 12 ans à la date d'aujourd'hui. Si vous déduisez 15 heures à partir de là, vous arrivez à 21 heures de la nuit dernière.


2 commentaires

Depuis que OP dit que son équation fonctionne déjà, il est implicite que ses formats sont corrects


@urdearboy Depuis que OP pense à son important de nous dire le format de E1 Cela impliquait qu'il ne connaît pas la valeur de cette cellule. :-)



0
votes

J'ai trouvé la réponse:

Sub TimeZone()
Range("M3:M11").Formula = "=E3 - (15/24)"
End Sub


0 commentaires