Este tutorial vai te ensinar como usar o IsNumeric e IsNumber funções no VBA para verificar se os valores são números.
IsNumeric é uma função VBA embutida, enquanto IsNumber é uma função do Excel que pode ser chamada a partir do código VBA.
Diferença entre IsNumber e IsNumeric em VBA
IsNumber verifica se um valor está armazenado como um número. Enquanto IsNumeric verifica se um valor pode ser convertido em um número.
Por exemplo, se você passar uma célula em branco como parâmetro, IsNumber retornará FALSE, enquanto IsNumeric retornará TRUE. Além disso, se você passar uma célula contendo um número armazenado como um texto, IsNumber retornará FALSE e IsNumeric TRUE.
Você precisa prestar atenção a essas limitações de ambas as funções e decidir em quais casos é melhor usar IsNumeric e quando IsNumber.
Usando IsNumeric em VBA
IsNumeric é a função VBA que verifica se um valor é numérico e retorna um booleano TRUE ou FALSE como resultado.
A função pode assumir uma variável ou um valor de célula.
Aqui está um exemplo de como obter um valor de célula:
12345 | If IsNumeric (Sheet1.Range ("A1"). Value) = True ThenMsgBox "O valor em A1 é numérico"OutroMsgBox "O valor em A1 não é numérico"Fim se |
Neste exemplo, verificamos se o valor da célula A1 é numérico usando IsNumeric. Esta função retorna a mensagem apropriada, dependendo do resultado da função.
Este próximo exemplo executa a mesma operação, exceto com uma variável em vez de um valor de célula:
123456789 | Dim n como varianten = Folha1.Range ("A1"). ValorIf IsNumeric (n) = True ThenMsgBox "O valor em A1 é numérico"OutroMsgBox "O valor em A1 não é numérico"Fim se |
Usando IsNumber em VBA
IsNumber é uma função do Excel, que pode ser usada em VBA. Ele tem uma saída quase semelhante a IsNumeric. Vejamos o exemplo da função IsNumber:
123456789 | If Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Value) = True ThenMsgBox "O valor em A1 é numérico"OutroMsgBox "O valor em A1 não é numérico"Fim se |
Como você pode ver no código, a diferença está na sintaxe ao chamar a função. Uma vez que IsNumber é a função do Excel, precisamos colocar Application.WorksheetFunction antes da chamada de função.