Como usar a função IsNull no VBA?

A função `IsNull` no VBA (Visual Basic for Applications) é usada para determinar se uma variável ou expressão não contém dados, ou seja, se ela é `Null`. Isso pode ser útil para verificar se um banco de dados ou elementos de um formulário, por exemplo, estão sem valores antes de realizar operações com eles.

Aqui está um exemplo de como usar a função `IsNull` no VBA:

Sub VerificarValor()
    Dim variavel As Variant

    ' Exemplo 1: Variável sem valor atribuído explicitamente
    If IsNull(variavel) Then
        MsgBox "A variável está nula."
    Else
        MsgBox "A variável possui um valor."
    End If

    ' Exemplo 2: Variável com valor definido para Null
    variavel = Null
    
    If IsNull(variavel) Then
        MsgBox "A variável agora está nula."
    Else
        MsgBox "A variável possui um valor."
    End If

    ' Exemplo 3: Verificação de valor de campo de formulário ou banco de dados
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM MinhaTabela")
    
    If Not rs.EOF Then
        If IsNull(rs!MeuCampo) Then
            MsgBox "O campo MeuCampo é nulo."
        Else
            MsgBox "O campo MeuCampo possui um valor."
        End If
    End If
    
    rs.Close
    Set rs = Nothing
End Sub

Explicação do código:

  • Variável não inicializada: Quando você declara uma variável como `Variant` sem atribuir um valor, `IsNull` pode ser usada para verificar se ela ainda não contém valores. No entanto, a variável será considerada vazia, e não `Null`, a menos que explicitamente você defina como `Null`.
  • Atribuição de `Null`: Quando você atribui `Null` a uma variável, `IsNull` irá retornar `True`. Isso é útil para modelos de dados onde deseja simbolizar a ausência de valor.
  • Valor de Campo de Registro: Usando `Recordset` para verificar se um campo específico dentro de um banco de dados contém `Null`. Isso é comum ao lidar com registros de bancos de dados, onde certos campos podem não ter sido preenchidos.

Lembre-se de que `IsNull` só retornará `True` para o tipo de dados `Null` específico no VBA. Não confunda com `Empty` ou zero-length strings, que podem requerer diferentes abordagens ou funções como `IsEmpty` para identificação.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project