Domanda

Sto usando Excel 2007 ... ho i seguenti intervalli ...

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

ora seleziono l'intervallo F8: G9 e scrivo la seguente formula "= D5: E6 * 0,2 + G5: H6 * 0,3"; e premi CTRL + MAIUSC + INVIO ... cioè facendo l'aggiunta di matrice, ... ora ho il seguente risultato

       F    G
  8   0.5  0.7
  9   0.7  0.7

ora seleziono questo intervallo di risultati e cambio il formato delle celle in formato numerico in numero con 0 cifre decimali .... ora ho il seguente risultato

     F  G
 8   1  1
 9   1  1

ora ho un programma c # che leggerà i valori di questo intervallo ... (con intervallo (...). valore2) ... poi proverà a trovare i valori distinti ma c # assume che lo legga nel caso sopra 1,1,1,1 ... che non è corretto nella realtà. inoltre il programma c # ora utilizzerà questi valori distinti per formattare le celle con i colori utilizzando l'operatore equals nel qual caso nessuno dei valori di cella è uguale a 1 ...

è possibile in Excel apportare quel cambiamento dopo la formattazione del numero, ... al valore reale2 della cella ... ma non solo l'aspetto! perché quando chiedo ad esempio

MsgBox Range("F8").Value2

mi mostra 0,5, ma dal momento che ho cambiato il formato della cella voglio vedere invece 1 ... Non voglio arrotondare il valore di Range ("quotazione F8"). Valore2, poiché funzionerà solo per caso specifico.

la mia domanda è come è possibile cambiare i valori dell'intervallo F8: G9 dopo il formato del numero con quelli che il formato del numero li ha cambiati ????

grazie !!!

È stato utile?

Soluzione

Utilizza la proprietà Text dell'oggetto Range per restituire la versione formattata

es. se la cella A1 contiene 0,77458 ed è formattata al primo decimale,

  • Range (" A1 "). Value2 = 0.77458 (come valore Double )
  • Range (" A1 "). Testo = 0.8 (come valore String )

Altri suggerimenti

La formattazione è solo un problema di presentazione su come vengono visualizzati i dati. Se vuoi lavorare con valori arrotondati dovresti arrotondare il valore reale, sia in Excel usando la funzione round, sia in .net usando Math.Round.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top