Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/VBA Excel - Определение диапазона ячеек на листе - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » VBA Excel - Определение диапазона ячеек на листе (Макросы/Sub)
VBA Excel - Определение диапазона ячеек на листе
tumanovalex Дата: Вторник, 20.01.2015, 15:56 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Хотелось бы в процедуре определять текущий диапазон для проведения в нем сортировки. С помощью записи макроса получил процедуру для фиксированного диапазона:[vba]
Код
Private Sub CommandButton1_Click()
   Dim NextRow As Long, NumMax As Long
   Sheets("Контакты").Activate
   ActiveSheet.Sort.SortFields.Clear
   ActiveSheet.Sort.SortFields.Add Key:=Range("A:A") _
         , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
   With ActiveSheet.Sort
     .SetRange Range("A1:F9")
     .Header = xlYes
     .MatchCase = False
     .Orientation = xlTopToBottom
     .SortMethod = xlPinYin
     .Apply
   End With
End Sub
[/vba]Подскажите, пожалуйста, как заменить фиксированный диапазон в SetRange на текущий рабочий диапазон. Тестовый файл прикрепляю
К сообщению приложен файл: Test.zip (21.5 Kb)
 
Ответить
СообщениеХотелось бы в процедуре определять текущий диапазон для проведения в нем сортировки. С помощью записи макроса получил процедуру для фиксированного диапазона:[vba]
Код
Private Sub CommandButton1_Click()
   Dim NextRow As Long, NumMax As Long
   Sheets("Контакты").Activate
   ActiveSheet.Sort.SortFields.Clear
   ActiveSheet.Sort.SortFields.Add Key:=Range("A:A") _
         , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
   With ActiveSheet.Sort
     .SetRange Range("A1:F9")
     .Header = xlYes
     .MatchCase = False
     .Orientation = xlTopToBottom
     .SortMethod = xlPinYin
     .Apply
   End With
End Sub
[/vba]Подскажите, пожалуйста, как заменить фиксированный диапазон в SetRange на текущий рабочий диапазон. Тестовый файл прикрепляю

Автор - tumanovalex
Дата добавления - 20.01.2015 в 15:56
Саня Дата: Вторник, 20.01.2015, 16:25 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
[vba]
Код
.SetRange ActiveSheet.UsedRange
[/vba]
 
Ответить
Сообщение[vba]
Код
.SetRange ActiveSheet.UsedRange
[/vba]

Автор - Саня
Дата добавления - 20.01.2015 в 16:25
JayBhagavan Дата: Вторник, 20.01.2015, 18:57 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
.SetRange Range("A1").CurrentRegion
[/vba]


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
Сообщение[vba]
Код
.SetRange Range("A1").CurrentRegion
[/vba]

Автор - JayBhagavan
Дата добавления - 20.01.2015 в 18:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » VBA Excel - Определение диапазона ячеек на листе (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!