1. Usando le funzioni `isnumber` e` isformula`:
Questo è il metodo più semplice e affidabile. Combina queste funzioni per verificare entrambe le condizioni:
* `isNumber (A1)`: Questa funzione restituisce `True` se la cella A1 contiene un numero (immesso direttamente o il risultato di una formula che valuta su un numero) e` false` altrimenti.
* `Isformula (A1)`: Questa funzione restituisce `vera` se la cella A1 contiene una formula e` false` altrimenti.
Per verificare se una cella contiene un numero * inserito direttamente *, è necessario che sia `isnumber` per essere` vero` e `isformula` per essere` false`:
`` `Excel
=E (isNumber (A1), non (isformula (A1)))
`` `
Questa formula restituirà `vera` solo se la cella A1 contiene un numero che è stato digitato direttamente nella cella, non calcolato da una formula. Posiziona questa formula in un'altra cella, sostituendo `A1` con la cella che si desidera controllare.
2. Usando la funzione `cell` (meno affidabile):
La funzione `cella 'può fornire informazioni sulla formattazione e sui contenuti di una cella. Tuttavia, è meno affidabile per questa attività specifica perché potrebbe non sempre distinguere con precisione tra un numero immesso direttamente e una formula che si traduce in un numero:
`` `Excel
=If (cell ("type", a1) ="v", true, false)
`` `
Questo controlla se il tipo di cella è "V" (valore), che * potrebbe * indicare un numero immesso direttamente. Ma una formula che valuta a un numero restituirebbe anche "V", quindi questo metodo non è infallibile.
3. Macro VBA (per scenari più complessi):
Per esigenze più complesse o analisi su larga scala, una macro VBA fornisce una maggiore flessibilità. È possibile iterare attraverso le cellule ed esaminare le loro proprietà per determinare se sono formule o numeri direttamente inseriti. Questo è più avanzato ma ti dà un controllo preciso. Ecco un semplice esempio:
`` `VBA
Sub checkCellType ()
Dim Cell come Range
Per ogni cella nell'intervallo ("a1:a10") 'REGOLA
Se isnumeric (cell.value) e non cell.hasformula allora
Debug.print cell.address &"contiene un numero direttamente inserito."
Termina se
Cella successiva
Fine sub
`` `
Questa macro si schiera attraverso le cellule da A1 a A10. `Isnumeric` controlla un numero e` cell.hasformula` verifica se si tratta di una formula. Il risultato è stampato sulla finestra immediata (visualizza> finestra immediata).
Il metodo `e (isNumber (A1), non (isformula (A1)))` è l'approccio più affidabile e consigliato Per determinare se una cella contiene un numero immesso direttamente in Excel. Gli altri metodi sono forniti per completezza ma hanno limiti.
software © www.354353.com