Как отсортировать несколько списков столбцов без перемещения данных соседних столбцов - PullRequest
0 голосов
/ 10 июля 2020

Сейчас у меня около 2000 столбцов со списками чисел. Списки указаны c для каждого столбца (например, столбец A может иметь 9 строк с разными числами внизу, но все числа указаны c для столбца A). Мне нужен более быстрый способ сортировки номеров каждого отдельного столбца в порядке возрастания. Опять же, я не хочу, чтобы числа в столбце A после сортировки меняли способ отображения любого другого столбца.

Например, в столбце AI может быть 120, 121, 110 в A1, A2 и A3 соответственно. Каждый столбец имеет разное количество чисел, оно колеблется от 1 до 60 (в моем примере столбец A имеет 3 числа). Мне нужно, чтобы в каждом столбце были указаны соответствующие номера, перечисленные в столбце в порядке возрастания, поэтому столбец A будет: A1 = 110, A2 = 120 и A3 = 121. Мне нужно, чтобы это было сделано для столбцов 2000.

Если это будет сделано без VBA, я бы предпочел не тратить время на написание кода, но если мне нужна помощь, я буду признателен, так как я новичок в VBA .

Прошу прощения, если в этом нет особого смысла. Я искал этот ответ, и все, что я вижу, показывает, что каждый столбец должен ссылаться на соседние ячейки. Я вручную сортирую каждый столбец за раз, и это занимает намного больше времени, чем хотелось бы, и я знаю, что должно быть решение.

Заранее спасибо!

1 Ответ

0 голосов
/ 10 июля 2020

Это займет VBA, но это просто vba.

L oop номера столбцов и сортировка каждого столбца по отдельности:

Sub lkjlj()
    With Worksheets("Sheet1") 'change to your sheet name
        Dim i As Long
        For i = 1 To 2000
            .Columns(i).Sort key1:=.Cells(1, i), Order1:=xlAscending, Header:=xlYes
        Next i
    End With
End Sub
...