Страницы: 1
RSS
Удаление всех строк именованного диапазона кроме первой.
 
Ребятки, добрый день !!  
Вопрос элементарный, но для меня не посилен. Прошу помощи !!  
На листе есть несколько именованных диапазонов, но это общая картина. Меня больше интересует один из них, под другие я сделаю сам.  
Необходимо, чтобы при значении H = 0 удалялись все строки именованного диапазона "Отчет_закл_Гк", ЗА ИСКЛЮЧЕНИЕМ первой строки.  
Ниже я привел ход моих мыслей в этом отношении, но так и не смог полностью реализовать.  
...  
Set T2Rng = Range("Отчет_закл_Гк")  
...  
If H = 0 Then  
                 
   With T2Rng  
 
Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlBlanks).EntireRow.Delete  
     
End With  
     
    Exit Sub  
End If
 
Почитайте справку по resize. Там почти буквально то, что Вам надо.
Я сам - дурнее всякого примера! ...
 
{quote}{login=Евгеша}{date=04.09.2011 11:58}{thema=Удаление всех строк именованного диапазона кроме первой.}{post}  
Вопрос элементарный...{/post}{/quote}Откуда Вы знаете что он элементарный?
 
{quote}{login=Serge 007}{date=04.09.2011 12:57}{thema=Re: Удаление всех строк именованного диапазона кроме первой.}{post}{quote}{login=Евгеша}{date=04.09.2011 11:58}{thema=Удаление всех строк именованного диапазона кроме первой.}{post}  
Вопрос элементарный...{/post}{/quote}Откуда Вы знаете что он элементарный?{/post}{/quote}  
я могу ошибаться, но на первый взгляд (не профессиональный) это было именно так.  
А про "resize", я почитаю обязательно !!!
 
если быть точным , то один offset не поможет, только в паре в с resize  
 
Set tt = tt.Offset(1).Resize(tt.Rows.Count - 1, tt.Columns.Count)  
tt.EntireRow.Delete
Спасибо
 
Привет, Дим. А где ты прочитал про оффсет? Или это я слепой?:-)  
Хотя на самом деле, если ниже нет строк с данными, или есть пустые строки, оффсета вполне хватит.
Я сам - дурнее всякого примера! ...
 
Вариант  
 
With Range("Отчет_закл_Гк")  
   .Rows(2).Resize(.Rows.Count - 1).EntireRow.Delete  
End With  
 
Только учтите, что после этой операции диапазон "Отчет_закл_Гк" будет состоять из одной строки, бывшей первой.
 
{quote}{login=KukLP}{date=04.09.2011 01:56}{thema=}{post}Привет, Дим. А где ты прочитал про оффсет? Или это я слепой?:-)  
Хотя на самом деле, если ниже нет строк с данными, или есть пустые строки, оффсета вполне хватит.{/post}{/quote}  
 
Привет Сергей,....ну перепутал, не то написал :), с кем не бывает...  
а по поводу хватит одного оффсета или нет, пусть решает Евгеша.
Спасибо
 
Сбасибо большое за помощь, ребятки !! Сейчас попробую реализовать ...
 
{quote}{login=Казанский}{date=04.09.2011 02:03}{thema=}{post}Вариант  
 
With Range("Отчет_закл_Гк")  
   .Rows(2).Resize(.Rows.Count - 1).EntireRow.Delete  
End With  
 
Только учтите, что после этой операции диапазон "Отчет_закл_Гк" будет состоять из одной строки, бывшей первой.{/post}{/quote}  
Да, спасибо, замысел таков и был. По сути это было и необходимо, чтобы диапазон не удалялся полностью, а всего лишь уменьшался до одной (первой) пустой строки. Просто в макросе есть и другое условие, при котором наоборот добавляются строки в диапазон.
Страницы: 1
Читают тему
Наверх