Probar una selección en Excel VBA
Este programa en Excel VBA utiliza la propiedad Count, la función IsNumeric, la función IsEmpty y el método de intersección para probar una selección.
Situación:
Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:
-
En primer lugar, declaramos dos objetos Range. Llamamos a la gama de objetos RNG y celular.
Dim rng As Range, cell As Range
-
Inicializar el rng Rango objeto con Range ( «C4: D10») y la célula objeto Range con el rango seleccionado.
Set rng = Range("C4:D10") Set cell = Selection
-
Añadir 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, célula) devuelve un objeto Range que representa el enlace: / VBA-ejemplos-union-Intersección [intersección]
de los dos rangos. Si este objeto rango no es nada, el número de un solo (primeras tres condiciones) está en el intervalo bordeado.
-
Pruebe el programa.
Sólo cuando se selecciona un único número en el rango bordeado el resultado será:
En todos los demás casos, el resultado será: