Вариант I.
iCountAreas = Selection.Areas.Count
MsgBox "Количество несмежных ячеек/диапазонов - " & iCountAreas
Вариант II.
iCountAreas = ExecuteExcel4Macro("AREAS(SELECTION())")
MsgBox "Количество несмежных ячеек/диапазонов - " & iCountAreas
Не забудьте предварительно проверить является ли выделенный об'ект диапазоном Используя первый способ можно определить количество несмежных ячеек/диапазонов в любом диапазоне, при этом, выделять его специально, конечно же, необязательно.