![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.07.2009
Сообщений: 45
|
![]()
Всем добрый день! Ситуация: пользователь выделил диапазон ячеек (например R5C1:R15C1 или R10C2:R20C5) Буду оч благодарен за подсказку, какая конструкция в VBA может определить номер самой верхней и самой нижней строки выделенного диапазона? (т.е. нужно получить 5 и 15 (10 и 20) для первого (второго) случая.
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]() Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 06.07.2009
Сообщений: 45
|
![]()
Prist, thanx so much!
Хотел ещё уточнить такой вопрос: а как передать полученные номера строк в метод Rows().Delete? Я сделал такое: Rows("Selection.Row : Selection.Row + Selection.Rows.Count -1").Delete shift:=xlUp и у меня выдается сообщение что Type Mismatch. Спасибо большое заранее! |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]()
Надо либо так
Код:
Код:
Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 06.07.2009
Сообщений: 45
|
![]()
Prist, спасибо огромное снова! :-) Но почему-то сработал только второй вариант, там где нет сцеплений подстрок. В первом варианте VBA ругнулся на ":"
Rows(Selection.Row&":"&Selection.Row + Selection.Rows.Count -1).Delete shift:=xlUp А в третьем - на ":A": Range("A"&Selection.Row&":A"&Selection.Row + Selection.Rows.Count -1,1)).EntireRow.Delete |
![]() |
![]() |
![]() |
#6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Зачем усложнять?
Если человек хочет удалить строки, в которых выделены ячейки, то проще всего так: Selection.EntireRow.Delete |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Потому, что в первом и третьем вариантах знак "&" должен быть отделен пробелами.
А вообще-то, почему Вас не устраивает удаление строк выделенного диапазона сразу, без определения первой и последней строк? Например, так: Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
сорри за флуд...
Цитата:
SAS888 одновременно! ![]() |
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 06.07.2009
Сообщений: 45
|
![]() Цитата:
![]() Последний раз редактировалось Chelentano; 30.07.2009 в 10:26. |
|
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 04.11.2010
Сообщений: 1
|
![]()
Здраствуйте всем!
Я заранее извиняюсь, может быть это не по этой теме. Хочю скрыть строки, написал вот это: n = 6 n1 = 200 list.Rows(n & " , " & n1).Hidden = True .....не работает, скрывает только первую строку
Давайте будем реалистичными, и совершим невозможное (Эрнесто Че Гевара)
Последний раз редактировалось Roma_oryol; 04.11.2010 в 14:35. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как получить измененные ячейки в VBA? | motorway | Microsoft Office Excel | 10 | 15.07.2009 15:46 |
Определение номера последней строки выделенного диапазона | НеВа6464 | Microsoft Office Excel | 2 | 17.05.2009 14:36 |
VBA= сравнить 2 диапазона. | Jainy_90 | Microsoft Office Excel | 2 | 16.05.2009 22:07 |
Номера строк для блокнота | __@cmd@__ | Общие вопросы Delphi | 5 | 01.02.2009 16:36 |
Как средствами VBA получить доменное имя пользователя? | Прохожий | Microsoft Office Excel | 3 | 04.10.2008 18:28 |