Страницы: 1
RSS
Как получить в VBA номера строк выделенного диапазона?
 
Всем добрый день! Ситуация: пользователь выделил диапазон ячеек (например R5C1:R15C1 или R10C2:R20C5) Буду оч благодарен за подсказку, какая конструкция в VBA может определить номер самой верхней и самой нижней строки выделенного диапазона? (т.е. нужно получить 5 и 15 (10 и 20) для первого (второго) случая.
 
Sub klb()  
a = Selection.Row  
b = a + Selection.Rows.Count - 1  
End Sub
 
Sub Êëóáîâ()  
Debug.Print Selection(1).Row  
Debug.Print Selection(1).Row + Selection.Rows.Count - 1  
End Sub
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
долбаная Виста…  
 
Sub Клубов()  
Debug.Print Selection(1).Row  
Debug.Print Selection(1).Row + Selection.Rows.Count - 1  
End Sub
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Спасибо.  
Но возможно не правильно объяснил задачу.  
Я с помощью запроса прошу пользователя выделить необходимый ему диапазон ячеек.  
Sub DataLabelsFromRange()  
   Dim DLRange As Range  
   Dim Cht As Chart  
   Dim i As Integer, Pts As Integer  
         
'  запрос диапазона  
   On Error Resume Next  
   Set DLRange = Application.InputBox _  
     (prompt:="Укажите диапазон работы автооператора", Type:=8)  
     If DLRange Is Nothing Then Exit Sub  
 
End Sub  
 
мне нужно чтобы макрос определил первую и последнюю строку диапазона.которую выделил пользователь.
 
И чем Вас не устроили предыдущие ответы?
 
Не работает.  
Как вот в этот мой макрос вписать данные ответы????  
Чтоб он присвоил переменной a и b номер первой и последней строки соответственно
 
А Selection на DLRange заменить слабо?
 
Возьмите две строки, например, RAN и замените Selection на Ваш диапазон:  
Sub DataLabelsFromRange()  
Dim DLRange As Range  
Dim Cht As Chart  
Dim i As Integer, Pts As Integer  
 
' запрос диапазона  
On Error Resume Next  
Set DLRange = Application.InputBox _  
(prompt:="Укажите диапазон работы автооператора", Type:=8)  
If DLRange Is Nothing Then Exit Sub  
a = DLRange.Row  
b = a + DLRange.Rows.Count - 1  
End Sub
 
СПАСИБО!!!!  
Очень благодарен
 
Только не применяйте на листе условное форматирование с формулами условий, а то на таких листах Application.InputBox(…, Type:=8) глючит. Да и при указании диапазона на другой странице - тоже бывает.  
Буквально на днях в теме "VBA пример функции минимум" ( http://www.planetaexcel.ru/forum.php?thread_id=26054 ) была предложена его не глючная альтернатива. Я уже почти все свои макросы под неё переделал.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Алекс, пытаюсь спровоцировать ошибку (при УФ) - не получается :-)
 
Юрий, я сейчас смог повторить результат (просто нашел свой топик http://www.planetaexcel.ru/forum.php?thread_id=15119 — "Проблемы с Application.InputBox (....., Type:=8) - не всякие значения хочет принимать" ) и подчистил по максимуму пример от всяких лишних кодов.  
Держите. Попробуйте, пожалуйста.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Юрий, чтобы не оффтопить здесь, я поднял свой старый топик "Проблемы с Application.InputBox (....., Type:=8) - не всякие значения хочет"
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
Страницы: 1
Читают тему
Наверх