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 Réponses :
Il suffit d'échanger des références Excel E1 code> em> pour les références VBA
plage ("E1") CODE> P> P> P> P> P>
plage ("E1") = plage ("E1") - (15/24) code> p>
Je ne peux pas vous aider beaucoup avec cette information. Le type d'erreur aiderait ....
Donc, vous valorisez dans la plage ("E1") code> peut ne pas être une date mais est plutôt un texte qui ressemble à une date. Il existe Beaucoup de solutions b> 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
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. P> localTime = plage ("E1") - (15/25) code> fonctionnera exactement le même, mais il y a une condition. P>
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. :-)
J'ai trouvé la réponse:
Sub TimeZone() Range("M3:M11").Formula = "=E3 - (15/24)" End Sub
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 code> avec une plage VBA (comme
plage ("E1") code>)
@Kevin Comment puis-je appliquer
daadd ("h", -15, dt) code> à 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 code> montre-moi une erreur.