L'utilisation d' .NumberFormat de Format de Décimales dans Excel VBA

Je suis d'insertion de données dans un document Word à partir d'une feuille de calcul Excel. Il y a une valeur qui dispose de plus de 2 décimales. J'utilise le code suivant pour tenter de le convertir à 2 décimales et de le coller à mon doc.

 wdApp.Selection.GoTo what:=-1, Name:="Device_Avail"
''Referring to the total count column in the Device Availability worksheet.
Set devAvailRow = shDevAvail.Range("A:A").Find("Overall Totals:",       
After:=Cells(1, 1), searchdirection:=xlPrevious)

''Actual piece to format value to 2 decimal places.
shDevAvail.Cells(devAvailRow.Row, 3).NumberFormat = "0.00"
devAvailPer = shDevAvail.Cells(devAvailRow.Row, 3)
wdApp.Selection.TypeText devAvailPer

La valeur n'affiche plus que 2 décimales, mais la barre de formule est montrer beaucoup plus.

L'utilisation d' .NumberFormat de Format de Décimales dans Excel VBA

Et ?Selection.Value dans la Fenêtre exécution de VBA console est en montrant 89.43448051 trop. Et cela devient collé dans ma doc.

Pourquoi le .NumberFormat modification de la fonction à 2 décimales? De quoi ai-je besoin de changer?

  • NumberFormat ne modifie pas le nombre lui-même. Il n'affecte la façon dont le nombre est affichée. (Il serait vraiment mauvais si il fait modifier les valeurs, surtout quand vous étaient aux prises avec des complexes de comptabilité ou de calculs financiers. Imaginez les erreurs qui serait la cause?)
  • Jetez un oeil ici stackoverflow.com/questions/20648149/...
InformationsquelleAutor Dombey | 2016-04-27