Este programa en Excel VBA usa la propiedad Count, la función IsNumeric, la función IsEmpty y el método Intersect para probar una selección .

Situación:

Probar una selección en Excel VBA

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

1. Primero, declaramos dos objetos Range. Llamamos a los objetos Range rng y cell.

Dim rng As Range, cell As Range

2. Inicializamos el objeto Range rng con Range ("C4: D10") y la celda del objeto Range con el rango seleccionado.

Set rng = Range("C4:D10")
Set cell = Selection

3. Agregue las siguientes líneas de código:

If cell.Count = 1 And IsNumeric(cell) And Not IsEmpty(cell) And Not Intersect(rng, cell) Is Nothing Then
    MsgBox "You win"
Else
    MsgBox "You lose"
End If

Explicación: Intersect (rng, cell) devuelve un objeto Range que representa la intersección de los dos rangos. Si este objeto de rango no es Nothing, el número único (las tres primeras condiciones) está en el rango delimitado.

4. Pruebe el programa.

Solo cuando seleccione un solo número en el rango delimitado, el resultado será:

Probar un resultado de selección

En todos los demás casos, el resultado será:

Probar un resultado de selección

14/9 Completado! Más información sobre el objeto de rango>
Siguiente capítulo: Variables