VBA – Is Nothing

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on agosto 15, 2022

Este tutorial demostrará cómo utilizar la sentencia Is Nothing en VBA

La sentencia Is Nothing de VBA utiliza el operador «Is» de VBA y comprueba si un objeto ha sido asignado a una variable de objeto.

Sub CheckObject
   Dim rng as Range
   If rng Is Nothing then
      Msgbox "Rango No Asignado"
   End If
End Sub

También podemos utilizar Not con Is Nothing con una sentencia If para asegurarnos de que un rango ha sido asignado a la variable de rango que declaramos y luego ejecutar el código que deseamos si esa variable ha sido asignada.

Sub ChequearSiObjetoFueAsignado()
    Dim rng As Range
    Set rng = Range("A1:A6")
    If Not rng Is Nothing Then
      '' Hacer algo - Código.
    End If
End Sub

Podemos utilizar la sentencia Is Nothing para cualquier tipo de objeto. Puede ser muy útil para evitar errores en nuestro código cuando un objeto no haya sido asignado a una variable de objeto.

Por ejemplo, podemos utilizar una variable de hoja de cálculo, y asignarla a la Hoja Activa. Si hacemos esto con éxito, entonces podemos seleccionar A2 en esa hoja.

Sub ChequearObjetoHoja()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    If Not ws Is Nothing Then
       ws.Range("A2").Select
    End If
End Sub

En el código anterior, la celda A2 será seleccionada. Si elimináramos la línea «Set ws=HojaActiva«, entonces la sentencia If pasaría por alto esa línea de código y la celda A2 no se seleccionaría.

Is Nothing también puede utilizarse en otras aplicaciones de Microsoft Office como PowerPoint, Outlook, Access y Word. El siguiente código comprueba si el Objeto Documento ha sido asignado al Documento Activo de Word.

Sub CheckDocumentObject()
    Dim wdDoc As Document
    Set wdDoc = ActiveDocument
    If wdDoc Is Nothing Then
      MsgBox "Documento No Asignado"
    Else
      MsgBox "Documento Asignado"
    End If
End Sub
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples