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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск в массиве последнего одинакового числа - Мир MS Excel

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

2013
Здравстуйте уважаемые форумчане. Помогите пожалуйста решить проблему по работе. Буду кратко. Есть массив чисел, упорядочен по возрастанию. Числа повторяются. Необходимо после последнего повторяющегося числа вставить строку. Пример: 100 100 100 строка 101 101 строка 102 и так далее
[moder]А почему опрос, а не обычная тема?[/moder]


Сообщение отредактировал Manyasha - Четверг, 26.11.2015, 10:57
 
Ответить
СообщениеЗдравстуйте уважаемые форумчане. Помогите пожалуйста решить проблему по работе. Буду кратко. Есть массив чисел, упорядочен по возрастанию. Числа повторяются. Необходимо после последнего повторяющегося числа вставить строку. Пример: 100 100 100 строка 101 101 строка 102 и так далее
[moder]А почему опрос, а не обычная тема?[/moder]

Автор - Дед
Дата добавления - 26.11.2015 в 10:50
Manyasha Дата: Четверг, 26.11.2015, 11:33 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Дед, так?
[vba]
Код
Sub addRow()
    For i = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -1
        If Cells(i - 1, 1) <> Cells(i, 1) Then Rows(i).Insert
    Next i
End Sub
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеДед, так?
[vba]
Код
Sub addRow()
    For i = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -1
        If Cells(i - 1, 1) <> Cells(i, 1) Then Rows(i).Insert
    Next i
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 26.11.2015 в 11:33
RAN Дата: Четверг, 26.11.2015, 12:05 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Так, наверное, правильнее
[vba]
Код
Sub addRow1()
    lr = Cells(Rows.Count, "a").End(xlUp).Row
    Set r = Range(Cells(1, 1), Cells(1, lr))
    For i = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -1
        If Application.CountIf(r, Cells(i - 1)) > 1 Then
            If Cells(i - 1, 1) <> Cells(i, 1) Then Rows(i).Insert
        End If
    Next i
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеТак, наверное, правильнее
[vba]
Код
Sub addRow1()
    lr = Cells(Rows.Count, "a").End(xlUp).Row
    Set r = Range(Cells(1, 1), Cells(1, lr))
    For i = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -1
        If Application.CountIf(r, Cells(i - 1)) > 1 Then
            If Cells(i - 1, 1) <> Cells(i, 1) Then Rows(i).Insert
        End If
    Next i
End Sub
[/vba]

Автор - RAN
Дата добавления - 26.11.2015 в 12:05
Дед Дата: Четверг, 26.11.2015, 16:11 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2013
Спасибо большое, все работает!
 
Ответить
СообщениеСпасибо большое, все работает!

Автор - Дед
Дата добавления - 26.11.2015 в 16:11
wild_pig Дата: Четверг, 26.11.2015, 19:46 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Проголосовал!
 
Ответить
СообщениеПроголосовал!

Автор - wild_pig
Дата добавления - 26.11.2015 в 19:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск в массиве последнего одинакового числа (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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