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

Вход

Регистрация

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

 

= Мир MS Excel/Группировка по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Группировка по условию (Макросы/Sub)
Группировка по условию
yellsamara Дата: Четверг, 16.11.2017, 16:02 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Имеется макрос во вложении, который группирует по условию, но с ошибкой, макрос когда видит следующую пустую строку все нормально группирует, но когда видит несколько значений он начинает их всех группировать...
нужно чтоб макрос учитывал это.
К сообщению приложен файл: 9298010.xlsm (18.0 Kb)
 
Ответить
СообщениеИмеется макрос во вложении, который группирует по условию, но с ошибкой, макрос когда видит следующую пустую строку все нормально группирует, но когда видит несколько значений он начинает их всех группировать...
нужно чтоб макрос учитывал это.

Автор - yellsamara
Дата добавления - 16.11.2017 в 16:02
_Boroda_ Дата: Четверг, 16.11.2017, 16:16 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Sub tt()
    r0_ = 2
    r1_ = Range("F" & Rows.Count).End(3).Row
    For i = r1_ To r0_ Step -1
        z_ = "; " & Range("E" & i) & z_
        If Range("B" & i) <> "" Then
            Range("H" & i) = Mid(z_, 3, 999)
            z_ = ""
        End If
    Next i
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Sub tt()
    r0_ = 2
    r1_ = Range("F" & Rows.Count).End(3).Row
    For i = r1_ To r0_ Step -1
        z_ = "; " & Range("E" & i) & z_
        If Range("B" & i) <> "" Then
            Range("H" & i) = Mid(z_, 3, 999)
            z_ = ""
        End If
    Next i
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 16.11.2017 в 16:16
yellsamara Дата: Четверг, 16.11.2017, 16:27 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Так нужно?

Да вроде теперь правильно работает))) только для одного столбца, можно для второго тож самое сделать? и нет ли ограничения по количеству строк? тут их может несколько тысяч.


Сообщение отредактировал yellsamara - Четверг, 16.11.2017, 16:27
 
Ответить
Сообщение
Так нужно?

Да вроде теперь правильно работает))) только для одного столбца, можно для второго тож самое сделать? и нет ли ограничения по количеству строк? тут их может несколько тысяч.

Автор - yellsamara
Дата добавления - 16.11.2017 в 16:27
yellsamara Дата: Четверг, 16.11.2017, 16:42 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
сам добавил))

[vba]
Код
Sub tt()
    r0_ = 2
    r1_ = Range("F" & Rows.Count).End(3).Row
    For i = r1_ To r0_ Step -1
        z_ = "; " & Range("E" & i) & z_
        If Range("B" & i) <> "" Then
            Range("H" & i) = Mid(z_, 3, 999)
            z_ = ""
        End If
    Next i
    r2_ = 2
    r3_ = Range("E" & Rows.Count).End(3).Row
    For i2 = r3_ To r2_ Step -1
        z_ = "; " & Range("F" & i2) & z_
        If Range("B" & i2) <> "" Then
            Range("G" & i2) = Mid(z_, 3, 999)
            z_ = ""
        End If
    Next i2
End Sub
[/vba]


Сообщение отредактировал yellsamara - Четверг, 16.11.2017, 17:08
 
Ответить
Сообщениесам добавил))

[vba]
Код
Sub tt()
    r0_ = 2
    r1_ = Range("F" & Rows.Count).End(3).Row
    For i = r1_ To r0_ Step -1
        z_ = "; " & Range("E" & i) & z_
        If Range("B" & i) <> "" Then
            Range("H" & i) = Mid(z_, 3, 999)
            z_ = ""
        End If
    Next i
    r2_ = 2
    r3_ = Range("E" & Rows.Count).End(3).Row
    For i2 = r3_ To r2_ Step -1
        z_ = "; " & Range("F" & i2) & z_
        If Range("B" & i2) <> "" Then
            Range("G" & i2) = Mid(z_, 3, 999)
            z_ = ""
        End If
    Next i2
End Sub
[/vba]

Автор - yellsamara
Дата добавления - 16.11.2017 в 16:42
_Boroda_ Дата: Четверг, 16.11.2017, 17:14 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не, так плохо. Много лишнего. Вот так лучше
[vba]
Код
Sub tt()
    r0_ = 2
    r1_ = Range("F" & Rows.Count).End(3).Row
    For i = r1_ To r0_ Step -1
        z_ = "; " & Range("E" & i) & z_
        x_ = "; " & Range("F" & i) & x_
        If Range("B" & i) <> "" Then
            Range("H" & i) = Mid(z_, 3, 999)
            Range("G" & i) = Mid(x_, 3, 999)
            z_ = ""
            x_ = ""
        End If
    Next i
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе, так плохо. Много лишнего. Вот так лучше
[vba]
Код
Sub tt()
    r0_ = 2
    r1_ = Range("F" & Rows.Count).End(3).Row
    For i = r1_ To r0_ Step -1
        z_ = "; " & Range("E" & i) & z_
        x_ = "; " & Range("F" & i) & x_
        If Range("B" & i) <> "" Then
            Range("H" & i) = Mid(z_, 3, 999)
            Range("G" & i) = Mid(x_, 3, 999)
            z_ = ""
            x_ = ""
        End If
    Next i
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 16.11.2017 в 17:14
yellsamara Дата: Четверг, 16.11.2017, 17:24 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Да отлично работает! теперь без ошибок! БОЛЬШОЕ СПАСИБО!
Излишнее цитирование удалено администрацией - это нарушение п.5j Правил форума


Сообщение отредактировал yellsamara - Четверг, 16.11.2017, 17:25
 
Ответить
СообщениеДа отлично работает! теперь без ошибок! БОЛЬШОЕ СПАСИБО!
Излишнее цитирование удалено администрацией - это нарушение п.5j Правил форума

Автор - yellsamara
Дата добавления - 16.11.2017 в 17:24
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Группировка по условию (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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