Questo programma in Excel VBA utilizza la proprietà Count, funzione IsNumeric, la funzione IsEmpty e il metodo Intersect per testare una selezione.

Situazione:

Test a Selection in Excel VBA

Posizionare un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice che segue:

  1. In primo luogo, si dichiara due oggetti Gamma. Chiamiamo la gamma di oggetti RNG e delle cellule.

Dim rng As Range, cell As Range
  1. inizializzare il RNG Gamma oggetto con Range ( “C4: D10”) e la cella oggetto Range con l’intervallo selezionato.

Set rng = Range("C4:D10")

Set cell = Selection
  1. Aggiungere le seguenti righe di codice:

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

Spiegazione: Intersect (RNG, cellulare) restituisce un oggetto Range che rappresenta il collegamento : / VBA-esempi-union-Intersezione [intersezione] dei due intervalli. Se questo oggetto intervallo non è nulla, il numero unico (prime tre condizioni) è nel range delimitato.

  1. Verificare il programma.

Solo quando si seleziona un singolo numero compreso tra delimitato il risultato sarà:

Test a Selection Result

In tutti gli altri casi il risultato sarà:

Test a Selection Result