ant6729
Дата: Суббота, 21.07.2018, 11:01 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Всем привет, не знаю, как дать название теме. Проще, наверное, приложить файл. И попробовать объяснить эту сложность. Снова уперся. Тут реально уперся. Куда я только не слазил и в сортировочные алгоритмы и переночевал уже... Не хватает у меня ума Суть того пути, которым я хочу идти для решения отдельной задачи такая Если в таблице А есть повторения по колонке ID, значит между ними нужно проставить по возможности наличия три следующих ID, чтобы они не были вместе. И получилось то, что в таблице B. Что-то я тут никак. Подскажите, пожалуйста, как это реализовать.
Всем привет, не знаю, как дать название теме. Проще, наверное, приложить файл. И попробовать объяснить эту сложность. Снова уперся. Тут реально уперся. Куда я только не слазил и в сортировочные алгоритмы и переночевал уже... Не хватает у меня ума Суть того пути, которым я хочу идти для решения отдельной задачи такая Если в таблице А есть повторения по колонке ID, значит между ними нужно проставить по возможности наличия три следующих ID, чтобы они не были вместе. И получилось то, что в таблице B. Что-то я тут никак. Подскажите, пожалуйста, как это реализовать. ant6729
Ответить
Сообщение Всем привет, не знаю, как дать название теме. Проще, наверное, приложить файл. И попробовать объяснить эту сложность. Снова уперся. Тут реально уперся. Куда я только не слазил и в сортировочные алгоритмы и переночевал уже... Не хватает у меня ума Суть того пути, которым я хочу идти для решения отдельной задачи такая Если в таблице А есть повторения по колонке ID, значит между ними нужно проставить по возможности наличия три следующих ID, чтобы они не были вместе. И получилось то, что в таблице B. Что-то я тут никак. Подскажите, пожалуйста, как это реализовать. Автор - ant6729 Дата добавления - 21.07.2018 в 11:01
китин
Дата: Суббота, 21.07.2018, 11:21 |
Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
Антон ant6729 , а вы вообще смотрите, куда постите темы? Это ветка для ГОТОВЫХ решений, а не для вопросов
Антон ant6729 , а вы вообще смотрите, куда постите темы? Это ветка для ГОТОВЫХ решений, а не для вопросов китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение Антон ant6729 , а вы вообще смотрите, куда постите темы? Это ветка для ГОТОВЫХ решений, а не для вопросов Автор - китин Дата добавления - 21.07.2018 в 11:21
ant6729
Дата: Суббота, 21.07.2018, 11:39 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Извините, если можете, перенесите, пожалуйста.
Извините, если можете, перенесите, пожалуйста. ant6729
Ответить
Сообщение Извините, если можете, перенесите, пожалуйста. Автор - 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
Ответить
Сообщение [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