Utilizarea Isnumeric și Isnumber în VBA

Acest tutorial vă va învăța cum să utilizați IsNumeric și IsNumber funcții în VBA pentru a verifica dacă valorile sunt numere.

IsNumeric este o funcție VBA încorporată, în timp ce IsNumber este o funcție Excel care poate fi apelată din codul VBA.

Diferența dintre IsNumber și IsNumeric în VBA

IsNumber verifică dacă o valoare este stocată ca număr. În timp ce, IsNumeric verifică dacă o valoare poate fi convertită într-un număr.

De exemplu, dacă treceți o celulă necompletată ca parametru, IsNumber va returna FALS, în timp ce IsNumeric va returna TRUE. De asemenea, dacă treceți o celulă care conține un număr stocat ca text, IsNumber va returna FALSE și IsNumeric TRUE.

Trebuie să acordați atenție acestor limitări ale ambelor funcții și să decideți în ce cazuri este mai bine să utilizați IsNumeric și când IsNumber.

Utilizarea IsNumeric în VBA

IsNumeric este funcția VBA care verifică dacă o valoare este numerică și returnează un TRUE sau FALSE boolean ca rezultat.

Funcția poate lua o variabilă sau o valoare de celulă.

Iată un exemplu de luare a valorii unei celule:

12345 Dacă IsNumeric (Sheet1.Range ("A1"). Value) = True AtunciMsgBox "Valoarea în A1 este numerică"AltfelMsgBox "Valoarea din A1 nu este numerică"End If

În acest exemplu, verificăm dacă valoarea din celula A1 este numerică utilizând IsNumeric. Această funcție returnează mesajul corespunzător, în funcție de rezultatul funcției.

Următorul exemplu efectuează aceeași operație, cu excepția unei variabile în loc de o valoare de celulă:

123456789 Dim n ca Variantăn = Sheet1.Range ("A1"). ValoareDacă IsNumeric (n) = adevărat atunciMsgBox "Valoarea în A1 este numerică"AltfelMsgBox "Valoarea din A1 nu este numerică"End If

Folosind IsNumber în VBA

IsNumber este o funcție Excel, care poate fi utilizată în VBA. Are o ieșire aproape similară cu IsNumeric. Să vedem exemplul funcției IsNumber:

123456789 Dacă Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Value) = True ThenMsgBox "Valoarea în A1 este numerică"AltfelMsgBox "Valoarea din A1 nu este numerică"End If

După cum puteți vedea din cod, diferența este în sintaxă atunci când apelați funcția. Deoarece IsNumber este funcția Excel, trebuie să punem Application.WorksheetFunction înainte de apelul funcțional.

wave wave wave wave wave