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

Вход

Регистрация

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

 

= Мир MS Excel/Распределение рядом повторных значений внутри массива данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Распределение рядом повторных значений внутри массива данных (Excel)
Распределение рядом повторных значений внутри массива данных
ant6729 Дата: Суббота, 21.07.2018, 11:01 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Всем привет, не знаю, как дать название теме.
Проще, наверное, приложить файл. И попробовать объяснить эту сложность.

Снова уперся.
Тут реально уперся.
Куда я только не слазил и в сортировочные алгоритмы и переночевал уже...
Не хватает у меня ума

Суть того пути, которым я хочу идти для решения отдельной задачи такая
Если в таблице А есть повторения по колонке ID, значит между ними нужно проставить по возможности наличия три следующих ID, чтобы они не были вместе. И получилось то, что в таблице B.
Что-то я тут никак.
Подскажите, пожалуйста, как это реализовать.
К сообщению приложен файл: 9902829.xlsx (9.0 Kb)
 
Ответить
СообщениеВсем привет, не знаю, как дать название теме.
Проще, наверное, приложить файл. И попробовать объяснить эту сложность.

Снова уперся.
Тут реально уперся.
Куда я только не слазил и в сортировочные алгоритмы и переночевал уже...
Не хватает у меня ума

Суть того пути, которым я хочу идти для решения отдельной задачи такая
Если в таблице А есть повторения по колонке ID, значит между ними нужно проставить по возможности наличия три следующих ID, чтобы они не были вместе. И получилось то, что в таблице B.
Что-то я тут никак.
Подскажите, пожалуйста, как это реализовать.

Автор - ant6729
Дата добавления - 21.07.2018 в 11:01
китин Дата: Суббота, 21.07.2018, 11:21 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Антон ant6729, а вы вообще смотрите, куда постите темы? Это ветка для ГОТОВЫХ решений, а не для вопросов


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеАнтон ant6729, а вы вообще смотрите, куда постите темы? Это ветка для ГОТОВЫХ решений, а не для вопросов

Автор - китин
Дата добавления - 21.07.2018 в 11:21
ant6729 Дата: Суббота, 21.07.2018, 11:39 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Извините, если можете, перенесите, пожалуйста.
 
Ответить
СообщениеИзвините, если можете, перенесите, пожалуйста.

Автор - ant6729
Дата добавления - 21.07.2018 в 11:39
ant6729 Дата: Суббота, 21.07.2018, 11:41 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
[vba]
Код
Sub jfjfj()

lr = Sheets("R").Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To lr

If Not Sheets("R").Cells(i, 13).Value = Empty Then

v = Sheets("R").Cells(i, 13).Value
v1 = Sheets("R").Cells(i + 1, 13).Value
v2 = Sheets("R").Cells(i + 2, 13).Value
v3 = Sheets("R").Cells(i + 3, 13).Value

Select Case v

          Case Is = v1 = v2 = v3
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown
          
          Case Is = v1
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown
          
          
          Case Is = v2
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown
          
          Case Is = v3
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown

          
End Select
End If

Next i

End Sub
[/vba]

Вообщем, пока это моя максимальная логика)Дальше продвинуться вряд ли.
 
Ответить
Сообщение[vba]
Код
Sub jfjfj()

lr = Sheets("R").Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To lr

If Not Sheets("R").Cells(i, 13).Value = Empty Then

v = Sheets("R").Cells(i, 13).Value
v1 = Sheets("R").Cells(i + 1, 13).Value
v2 = Sheets("R").Cells(i + 2, 13).Value
v3 = Sheets("R").Cells(i + 3, 13).Value

Select Case v

          Case Is = v1 = v2 = v3
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown
          
          Case Is = v1
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown
          
          
          Case Is = v2
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown
          
          Case Is = v3
          Rows(i).Cut
          Rows(i + 4).Insert Shift:=xlDown

          
End Select
End If

Next i

End Sub
[/vba]

Вообщем, пока это моя максимальная логика)Дальше продвинуться вряд ли.

Автор - ant6729
Дата добавления - 21.07.2018 в 11:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Распределение рядом повторных значений внутри массива данных (Excel)
  • Страница 1 из 1
  • 1
Поиск:

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