2009-06-22 3 views
2

J'utilise Excel 2007 ... i ont les gammes suivantes ...excel numberformat

 D E  G H 
    5 1 2  1 1 
    6 2 2  1 1 

maintenant je sélectionner la plage F8: G9 et écrire la formule suivante « = D5: E6 * 0,2 + G5 : H6 * 0,3" et appuyez sur la touche CTRL + SHIFT + ENTRER ... à savoir faire plus de la matrice, ... maintenant j'ai le résultat suivant

 F G 
    8 0.5 0.7 
    9 0.7 0.7 

maintenant je sélectionner cette gamme de résultats et changer le format des cellules pour numéroter le format au nombre avec 0 décimales .... maintenant j'ai le résultat suivant

maintenant j'ai C# programme qui va lire cette gamme valeurs ... (avec la plage (...). Value2) ... puis va essayer de trouver les valeurs distinctes, mais C# suppose qu'il le lit le ci-dessus 1,1,1,1 ... ce qui n'est pas correct dans la réalité. De plus C# programme va maintenant utiliser ces valeurs distinctes pour formater les cellules avec des couleurs en utilisant l'opérateur égal, auquel cas aucune des valeurs de cellule est égale à 1 ...

est-il possible d'effectuer ce changement après le format numérique? , ... à 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 je l'ai changé le format de cellule que je veux voir 1 à la place ... Je ne veux pas arrondir la valeur de Range (« F8 ») .Value2, car cela ne fonctionnera que pour un cas spécifique.

ma question est comment il est possible de changer les valeurs de la gamme F8: G9 après nombreformat à ceux que le format numérique a changé les ????

merci !!!

+0

Souhaitez-vous [NumberFormat] (http://msdn.microsoft.com/en-us/library/office/ff196401(v=office.15).aspx), utilisateur mort? ^^ – Bitterblue

Répondre

1

utiliser pour renvoyer la version formatée

par exemple la propriété de l'objet TextRange si la cellule A1 contient 0,77458 et est mis en forme à une décimale puis

  • Range("A1").Value2 = 0,77458 (en tant que valeur Double)
  • Range("A1").Text = 0,8 (en tant que valeur String)
0

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, arrondissez la valeur réelle, soit dans Excel à l'aide de la fonction round, soit dans .net à l'aide de Math.Round.

+0

comment est-il possible d'exceller pour arrondir toutes les valeurs d'une gamme? –