Страницы: 1
RSS
Сложная сортировка по типам
 
Здравствуйте.
Помогите отсортировать по типу Черная и Белая. В таблице 1 исходные данные, в таблице два как должно быть отсортировано( сделано в ручную) Хотя может для кого-то это будет ни так сложно :)  
Изменено: Laemafin - 13.07.2017 09:58:38
 
Цитата
в таблице два как должно быть отсортировано( сделано в ручную)
С вашим примером не совпало, отсортировал в столбцы N и O(замените на ваши)
Код
Sub iSort()
Dim i As Long
Dim iLastRow As Long
Dim FoundCell As Range
Dim FAdr As String
Dim stolb As Integer
   iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
   Range("N2:O" & iLastRow).ClearContents
    Set FoundCell = Columns(2).Find("_close", , xlValues, xlWhole)
     If Not FoundCell Is Nothing Then
      FAdr = FoundCell.Address
      Do
        If Cells(FoundCell.Row - 1, "A") = "Белая" Then
          stolb = 14
        Else
          stolb = 15
        End If
          iLastRow = Cells(Rows.Count, stolb).End(xlUp).Row + 1
          Range(Cells(FoundCell.Row - 10, "B"), Cells(FoundCell.Row + 1, "B")).Copy Cells(iLastRow, stolb)
          Set FoundCell = Columns(2).FindNext(FoundCell)
        Loop While FoundCell.Address <> FAdr
     End If
End Sub
 
Kuzmich,Спасибо все работает.  
 
Можно это реализовать без VBA ?
 
попробуйте формулу
Код
=ИНДЕКС($B$1:$B$300;НАИМЕНЬШИЙ(ЕСЛИ($A$1:$A$227="белая";СТРОКА($A$1:$A$227));СТРОКА(A1)))
 
Почти сделал без VBA. Смотрите желтые столбцы. Единственное никак не могу понять, как вставить текстовые разделители.
 
У copper-top, более элегантное решение, но тоже нет текстовых разделителей
 
Очень важны текстовые разделители. Всем спасибо за помощь. Буду реализовывать VBA версию  
 
.
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК("_";B2));B2;--(ИНДЕКС($B$1:$B$300;НАИМЕНЬШИЙ(ЕСЛИ($A$1:$A$227="белая";СТРОКА($A$1:$A$227));1+СЧЁТ($L$1:L1)))))
 
только уже числа, а не текст
 
copper-top, Посмотрите что я делаю не так с вашей формулой? Почему то не работает.
 
массивная. у вас разделитель целой и дробной запятая же?
Изменено: copper-top - 13.07.2017 12:08:15
 
copper-top,да запятая, по поводу трех пропусков эта опечатка, всегда будет два
Изменено: Laemafin - 13.07.2017 12:23:56
 
copper-top, Спасибо большое все работает.
Страницы: 1
Наверх