Как можно отредактировать строчки согласно столбца? Есть 2 одинаковых столбца. Один расположен с определённой последовательностью. Второй совпадает по значениям но не совпадает по последовательности. Как сделать что бы первый столбец остался в той же последовательности, а все остальные строчки встали под соответствие данной последовательности. Не нарушая исходный столбец. Например стоит нумерация в обратном порядке от 10 до 1. 3 столбец та же нумерация но в разнобой. Нужно что бы 1 столбец был прежним от 10 до 1. а 3 столбец тоже стал от 10 до 1 с авто подтягиванием остальных столбцов
Mag.emk, ну как бы еще и про файл пример там написано - или вы предлагаете создать файл вбить туда ваши данные? ну короче для модераторов название темы: Сортировать таблицы в порядке убывания не затрагивая 1 столбец таблицы. выбираем таблицу с данным без первого столбца - данные - сортировка - столбец "по столбцу (последнему)" - сортировка "значения" - порядок "по убыванию"
Mershik конкретно в данном примере да, возможен вариант сортировки без 1 столбца, но на практике там далеко не по порядку будут стоять числа, да и не факт что числа.
gling более подробный пример: запросил у поставщика перечень номенклатуры с определённым количеством. Получил ответ в другом порядке с возможными заменами(аналогами). Полное соответствие запроса и ответа будет только по количеству штук. как по этому соответствию сопоставить строки. Не нарушая первоначальный вариант.
Sub aaa()
Dim DC As Object, DC1 As Object, arr(), a&, b&, c&, aa(), cc()
With ActiveSheet
a = .UsedRange.Rows.Count
Set DC = CreateObject("Scripting.Dictionary")
Set DC1 = CreateObject("Scripting.Dictionary")
arr = .Range("A2:F" & a).Value
For a = LBound(arr) To UBound(arr)
DC.Item(arr(a, 1)) = a
DC1.Item(arr(a, UBound(arr, 2))) = a
Next
aa = DC.keys(): cc = arr
For a = LBound(aa) To UBound(aa)
On Error Resume Next
For b = 2 To 6: cc(a + 1, b) = arr(DC1.Item(aa(a)), b): Next
On Error GoTo 0
Next
.[A2].Resize(UBound(arr), UBound(arr, 2)) = cc
End With
End Sub
IKor написал: Правильно ли я понимаю, что в принципиально разных строках могут совпадать количества... Как Вы собираетесь их различать?
Нет, количество будет в 2-х столбцах. 1 из них с правильной последовательностью. второй столбец будет с предложением. всё количество чётко прописано в 1 столбце.
Цитата
IKor написал: Мне кажется, что Вам следует решать задачу по-другому - рекомендую поискать новые идеи здесь:
то что мне найдёт совпадения не особо то и поможет, я и так изначально знаю что оно 100% по количеству.
Mag.emk, создает два словаря, в которые заносит цены из столбца А и F с запоминанием строк. Далее циком по ключам первого словаря и по его трокам перетаскиваем данные со строк второго словаря по текущему ключу. Потом выгрузка итогового массива на лист. Финита
Есть одно "НО" - с помощью словарей извлекаются "уникальные" значения (хотя Игорь Гончаренко со мной и не согласится), и если цены повторяются, то будет копирование одних и тех-же строк несколько раз. В качестве варианта противодействия - прилепить к цене через "&" какой-нибудь символ и номер строки, тогда каждая строка будет уникальна. Только такое делать надо в двух словарях на этапе их заполнения.