2015-12-10 2 views
0

Я искал все вокруг, но до сих пор не работало. У меня есть этот файл excel со случайными данными. Данные разделены черными границами, но между ними может быть любое количество ячеек. Лучше всего, если вы посмотрите на прилагаемый файл. Я хотел бы отфильтровать эти данные, но понятия не имею, как сгруппировать строки между черными границами .... есть ли способ сделать это?Групповые ряды для фильтра

И мой файл: http://we.tl/UhDJxsqaL1

редактировать: Если я пытаюсь фильтровать по графе «А» со значением «18xxxxxx» тогда я получить то, что находится на верхней части изображения, я хотел бы чтобы получить все значения, которые находятся на нижней части изображения:

http://s28.postimg.org/6x09tb9t9/koncano.png

+0

Было бы неплохо иметь скриншот ожидаемого результата или к есть лучшее описание – manu

+0

Ваша ссылка для файла работает? – ManishChristian

+0

Я отредактировал с дополнительным объяснением и образом того, чего бы я хотел достичь, да обе ссылки работают. –

ответ

0

Мой подход скопировать и мимо значения столбца A, ограниченной границей. Тогда вы сможете легко фильтровать по своему усмотрению.

Это код:

Sub test() 


Dim Lastrow As Long 

Lastrow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row 


For i = 2 To Lastrow 

     If Not IsEmpty(Range("A" & i)) Then 

      Copy_Cell_To_Border i 

     End If 


Next i 

End Sub 

И суб рутина:

Sub Copy_Cell_To_Border(ByVal i As Integer) 

    Dim cell As Range 
    Dim r As Long 

Set cell = Range("A" & i) 


    r = 0 

    Do 
     r = r + 1 
    Loop While cell.Offset(r, 0).Borders(xlEdgeTop).LineStyle = xlNone 

    If r > 1 Then 
     cell.Copy 
     Range(cell.Offset(1, 0), cell.Offset(r - 1, 0)).PasteSpecial xlPasteValues 

     If IsEmpty(Range("A" & i - 1)) Then 
      Range(cell.Offset(-1, 0), cell.Offset(r - 1, 0)).PasteSpecial xlPasteValues 
     End If 
    End If 


End Sub 

Окончательный результат: enter image description here

+0

Спасибо за ваш attampt, но я уже считаю, что проблема с вашим решением в том, что его не только первый столбец мне нужно фильтровать, но и каждый столбец, и может быть больше одного значения в collumn a, иногда его 18xxxxx и другое time 18xxxxx (newline) 15xxxxx, который делает этот подход вообще неработоспособным, я даже пытался сделать пробелы выше границ, а затем группировать каждую строку, но это не работает ни –

Смежные вопросы