Afficher les millisecondes dans Excel
J'essaie d'Afficher des millisecondes dans une macro Excel. J'ai une colonne d'entiers qui sont des horodatages en millisecondes (par exemple 28095200 est 7: 48: 15.200 am), et je veux faire une nouvelle colonne à côté de celle-ci qui garde une moyenne courante et affiche l'heure dans un format hh:mm:ss.000
.
Dim Cel As Range
Set Cel = Range("B1")
temp = Application.Average(Range("A1:A2")) / 1000
ms = Round(temp - Int(temp), 2) * 1000
Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
& "." & Strings.Format(ms, "#000")
Cela affiche uniquement " mm: SS.0" dans la cellule. Pourtant, quand je clique sur la cellule, il montre "hh:mm:ss" dans la barre de formule. Pourquoi les heures manquantes? Comment puis-je afficher les heures, minutes, secondes et millisecondes?
4 réponses
Faites un clic droit sur la cellule B1
et choisissez formater les cellules . Dans Custom , Placez les éléments suivants dans la zone de texte intitulée Type :
[h]:mm:ss.000
Pour définir dans le code, vous pouvez faire quelque chose comme:
Range("A1").NumberFormat = "[h]:mm:ss.000"
Cela devrait vous donner ce que vous cherchez.
Remarque: les champs spécialement formatés exigent souvent que la largeur de la colonne soit suffisamment large pour l'ensemble du contenu du texte formaté. Sinon, le texte s'affichera comme ######
.
J'ai découvert dans Excel 2007, si les résultats sont une Table d'une requête intégrée, le SS.000 ne fonctionne pas. Je peux coller les résultats de la requête (à partir de SQL Server Management Studio), et formater l'heure très bien. Mais quand j'incorpore la requête en tant que connexion de données dans Excel, le format donne toujours .000 millisecondes.
Je l'ai fait dans Excel 2000.
Cette déclaration devrait être: ms = Round(temp - Int(temp), 3) * 1000
Vous devez créer un format personnalisé pour la cellule de résultat de [h]:mm:ss.000
Représentez D'abord l'époque de la milliseconde en tant que date (généralement 1/1/1970), puis ajoutez votre milliseconde divisée par le nombre de millisecondes dans un jour (86400000):
=DATE(1970,1,1)+(A1/86400000)
Si votre cellule est correctement formatée, vous devriez voir une date/heure lisible par l'homme.