Эта программа в Excel VBA использует свойство Count, IsNumeric функция, функция IsEmpty и метод Intersect, чтобы проверить выбор.

Ситуация:

Test a Selection in Excel VBA

Поместите командную кнопку на листе и добавьте строки следующего кода:

  1. Во-первых, мы объявляем два объекта Range. Мы называем объекты Диапазон ГСЧ и клетки.

Dim rng As Range, cell As Range
  1. Мы инициализируем объект ГСЧ Range с Range ( «C4: D10») и объектный диапазон ячеек с выбранным диапазоном.

Set rng = Range("C4:D10")

Set cell = Selection
  1. Добавьте следующие строки кода:

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

Объяснение: Intersect (RNG, клетка) возвращает объект Range, который представляет ссылку: / VBA-примеры-союз-пересекается [пересечения] из двух диапазонов. Если этот объект диапазона не ничего, единственное число (первые три условия) находится в диапазоне окаймленного.

  1. Проверьте программу.

Только тогда, когда вы выбираете один номер в окаймленной диапазоне результат будет:

Test a Selection Result

Во всех остальных случаях результат будет:

Test a Selection Result