Мне нужна помощь в создании кода VBA, который принимает данные, компилирует вставку столбца даты (столбец A) для каждого, затем для каждой пары столбцов сортирует его.
Данные начинаются примерно так
Date, A, B, C, ...
01/02/2019, 100, 110, 120, ...
02/02/2019, 101, 107, 124, ...
03/02/2019, 102, 107, 123, ...
04/02/2019, 101, 108, 123, ...
Сначала следует указать дату согласно
Date, A, Date, B, Date, C, ...
01/02/2019, 100, 01/02/2019, 110, 01/02/2019, 120, ...
02/02/2019, 101, 02/02/2019, 107, 02/02/2019, 124, ...
03/02/2019, 102, 03/02/2019, 107, 03/02/2019, 123, ...
04/02/2019, 101, 04/02/2019, 108, 04/02/2019, 123, ...
Затем столбцы должны быть разбиты на пары, и отсортированы по второму столбцу, т.е.
.
Date, A, Date, B, Date, C, ...
01/02/2019, 100, 02/02/2019, 107, 01/02/2019, 120, ...
02/02/2019, 101, 03/02/2019, 107, 03/02/2019, 123, ...
04/02/2019, 101, 04/02/2019, 108, 04/02/2019, 123, ...
03/02/2019, 102, 01/02/2019, 110, 02/02/2019, 124, ...
Пока у меня есть код, который находит последний столбец в строке, который возвращает последний столбец в виде ссылки на строку (например, «GM»)
Function ColumnLetter() As String
Dim sht As Worksheet
Dim LastColumn As Long
Dim LastColumnStr, ColumnPaste As String
Dim p As Long
Set sht = ThisWorkbook.Worksheets("srtData")
LastColumn = sht.Range("A1").CurrentRegion.Columns.Count
Dim n As Long
Dim c As Byte
Dim s As String
n = LastColumn
Do
c = ((n - 1) Mod 26)
s = Chr(c + 65) & s
n = (n - c) \ 26
Loop While n > 0
ColumnLetter = s
End Function
Однако я понятия не имею, как выполнить итерацию, а затем отсортировать по второму столбцу. В идеале я просто хочу иметь такую функцию, как
Function sortallData(dim wsTest as String)
где я могу просто вызвать функцию, введя имя листа.