Как изменить код VBA для сортировки, минуя метод "Debug.Print"?

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Прошу помощи. Есть интересная тема Сортировка двумерного массива, срочно Исправил в коде (автор:

gaw

) метод "Print" на "Debug.Print", картинка ниже. Теперь хочу, чтобы всё напрямую отображалось на "Лист 1" в Эксель, без "Debug.Print" Как исправить код? Как правильно указать смещение, желательно, чтобы результаты находились не параллельно исходнику, а вертикально, т. е. на несколько строк ниже исходника.
Листинг программы
  1. Sub gavSort()
  2. Dim a(6, 6), b(6, 6)
  3. '--------------------
  4. ActiveSheet.UsedRange.EntireRow.Delete
  5. Cells.Clear
  6. For i = 1 To 6
  7. For j = 1 To 6
  8. a(i, j) = Int(Rnd * 10) - 5
  9. 'Cells(i, j) = a(i, j) 'пытался выносить на Лист 1, получилось!
  10. b(i, j) = a(i, j)
  11. 'b(i, j) = Cells(8, j) 'пытался выносить на Лист 1, не получилось!
  12. Next j
  13. Debug.Print
  14. Next i
  15. For j = 1 To 6
  16. For i = 1 To 6
  17. For k = i To 6
  18. If b(i, j) > b(k, j) Then
  19. tmp = b(i, j): b(i, j) = b(k, j): b(k, j) = tmp
  20. End If
  21. Next k
  22. Next i
  23. Next j
  24. Debug.Print
  25. For i = 1 To 6
  26. For j = 1 To 6
  27. Debug.Print Tab(5 * j); a(i, j);
  28. Next j
  29. For j = 1 To 6
  30. Debug.Print Tab(35 + 5 * j); b(i, j);
  31. Next j
  32. Debug.Print
  33. Next i
  34. End Sub
  35. ' 4 1 0 -2 -4 2 -5 -4 -4 -5 -5 -3
  36. ' -1 2 0 3 -5 -3 -5 -2 -2 -4 -5 -3
  37. ' -5 -4 -2 -4 -5 0 -1 0 -1 -2 -4 0
  38. ' 1 0 3 -5 -4 1 -1 1 0 -1 -4 0
  39. ' -1 -2 -4 2 4 0 1 2 0 2 -1 1
  40. ' -5 2 -1 -1 -1 -3 4 2 3 3 4 2

Решение задачи: «Как изменить код VBA для сортировки, минуя метод "Debug.Print"?»

textual
Листинг программы
  1. Sub gavSort()
  2. Dim a(6, 6), b(6, 6)
  3. '--------------------
  4. ActiveSheet.UsedRange.EntireRow.Delete
  5. Cells.Clear
  6. For i = 1 To 6
  7. For j = 1 To 6
  8. a(i, j) = Int(Rnd * 10) - 5
  9. Cells(i, j) = a(i, j)
  10. b(i, j) = a(i, j)
  11. Next j
  12. Next i
  13.  
  14. For j = 1 To 6
  15.   For i = 1 To 6
  16.     For k = i To 6
  17.      If b(i, j) > b(k, j) Then
  18.      tmp = b(i, j): b(i, j) = b(k, j): b(k, j) = tmp
  19.      End If
  20.     Next k
  21.  Next i
  22. Next j
  23.  
  24. For i = 1 To 6
  25.    For j = 1 To 6
  26.        Cells(i, j + 8) = b(i, j)
  27.     Next j
  28. Next i
  29. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы