Usando Isnumeric e Isnumber em VBA

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.

wave wave wave wave wave