Я очень новичок в VBA, поэтому, пожалуйста, пройдите ко мне.VBA Excel WorksheetFunction.Rank issue
У меня есть список номеров длиной в 120 000 строк, которые я хочу ранжировать с шагом 12 - это означает, что первые 12 чисел должны быть ранжированы от 1 до 12, следующие 12 чисел от 1 до 12 и т. Д.
Я знаю, как это сделать в Excel, по одному приращению за раз, используя функцию Ранга, но так как мне понадобилось навсегда сделать это вручную, я решил попробовать закодировать макрос, чтобы сделать это для меня.
Это насколько я уже пришел.
Sub Rank()
Range("H1").End(xlDown).Offset(1, 0).Select
ActiveCell = Application.WorksheetFunction.Rank(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 1), ActiveCell.Offset(12, 1))
Range("H200000").Select
Selection.End(xlUp).Select
Selection.Copy
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(11, 0)).Select
ActiveSheet.Paste
End Sub
Я сделал несколько итераций, пытаясь выяснить, где я ошибаюсь, но в настоящее время я застрял. Я уверен, что есть простой способ понять это, но у меня просто нет навыков, чтобы сделать это без посторонней помощи, поэтому любая помощь была бы очень обязательна.
просьба дать некоторые подробности о том, как ваши «номера» разбросан вдоль колонн (группы из двенадцати ячеек, разделенные пустыми клетки, подряд, другие ...), какой столбец они принадлежат и какой столбец должны держать их рейтинг – user3598756