excellent numberformat
-
06-07-2019 - |
Question
J'utilise Excel 2007 ... J'ai les gammes suivantes ...
D E G H
5 1 2 1 1
6 2 2 1 1
maintenant, je sélectionne la plage F8: G9 et écris la formule suivante: "= D5: E6 * 0,2 + G5: H6 * 0,3" et appuyez sur les touches CTRL + MAJ + ENTRÉE ... c'est-à-dire en faisant l'addition de matrice, ... maintenant j'ai le résultat suivant
F G
8 0.5 0.7
9 0.7 0.7
maintenant, je sélectionne cette plage de résultats et modifie son format des cellules en format de nombre en nombre avec 0 décimale ..., le résultat est maintenant
F G
8 1 1
9 1 1
maintenant j’ai le programme c # qui lira cette plage de valeurs ... (avec plage (...). valeur2) ... alors nous allons essayer de trouver les valeurs distinctes mais c # suppose qu’il lit le cas précédent 1,1,1,1 ... ce qui n’est pas correct dans la réalité. De plus, le programme c # utilisera maintenant ces valeurs distinctes pour formater les cellules avec des couleurs en utilisant l'opérateur égal, auquel cas aucune des valeurs de cellule n'est égale à 1 ...
est-il possible dans Excel de faire ce changement après numberformat, ... à la valeur réelle2 de la cellule ... mais pas seulement à l'apparence! parce que quand je demande par exemple
MsgBox Range("F8").Value2
il me montre 0,5, mais depuis que j'ai changé le format de cellule, je veux voir 1 à la place ... Je ne veux pas arrondir la valeur de Range ("F8"). Value2, car cela ne fonctionnera que pour cas spécifique.
Ma question est de savoir comment il est possible de changer les valeurs de la plage F8: G9 après numberformat pour celles modifiées par numberformat ????
merci !!!
La solution
Utilisez la propriété Text
de l'objet Range
pour renvoyer la version mise en forme
par exemple. si la cellule A1 contient 0,77458 et est formatée à une décimale, alors
-
Plage ("A1"). Valeur2
= 0,77458 (valeurdouble
) -
Plage ("A1"). Texte
= 0.8 (en tant que valeurString
)
Autres conseils
La mise en forme est juste un problème de présentation quant à la façon dont les données sont affichées. Si vous souhaitez utiliser des valeurs arrondies, vous devez arrondir la valeur réelle, soit dans Excel avec la fonction arrondie, soit en .net avec Math.Round.