Страницы: 1
RSS
количество строк несвязанного диапазона, vba union() rows.count
 
подскажите, как посчитать количество строк? должно быть 3

Код
Sub test()
Set t1 = Union([a1:c1], [a3:d4])
t2 = t1.Rows.Count
t1.Select
End Sub
 
Свойства Rows и Columns возвращают количество строк и столбцов только первого диапазона из объединения. Для подсчета нужно выбрать какой-то другой критерий, например подсчет непустых ячеек. Пример пустой, поэтому непонятно. Нужна конкретика. Если диапазоны для объединения заранее известны то можно просуммировать по каждому.  
Изменено: Joiner - 05.04.2015 17:48:54
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Можно посчитать по областям, если они не перекрываются по строкам
Код
Sub test()
Set t1 = Union([a1:c1], [a3:d4])
For Each a In t1.Areas
  t2 = t2 + a.Rows.Count
Next
t1.Select
End Sub
 
Казанский  спасибо, как вариант
 
Чтобы не учитывать пересечения, тогда лучше подсчитывать в выделении.

Код
Sub test()
Set t1 = Union([a1:c1], [a3:a4])
t1.Select
For Each a In Selection.Area
     t2 = t2 + a.Rows.Count
Next
End Sub
Изменено: Joiner - 05.04.2015 18:03:43
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
Страницы: 1
Наверх