Поменять местами строки или столбцы в Excel - VBA

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

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

Я написал программу по обмену значений по строке, по столбцу и по диагонали Нужно написать другую программу, которая будет делать обмен значений циклом ТОЛЬКО по столбцу или ТОЛЬКО по строке, число элементов произвольно.
Листинг программы
  1. Private Sub CommandButton1_Click()
  2. Dim c1 As Range
  3. Dim c2 As Range
  4. Dim s1 As String, s2 As String
  5. If Selection.Cells.Count > 2 Or Selection.Cells.Count < 2 Then
  6. MsgBox "Выделенная область должна содержать только две ячейки", vbCritical
  7. Exit Sub
  8. End If
  9. If Selection.Areas.Count > 1 Then
  10. Set c1 = Selection.Areas(1).Cells(1, 1)
  11. Set c2 = Selection.Areas(2).Cells(1, 1)
  12. Else
  13. Set c1 = Selection.Cells(1)
  14. Set c2 = Selection.Cells(2)
  15. End If
  16. s1 = c1.Value
  17. s2 = c2.Value
  18. c1.Value = s2
  19. c2.Value = s1
  20. End Sub

Решение задачи: «Поменять местами строки или столбцы в Excel»

textual
Листинг программы
  1. Sub SwapRows()
  2. Dim v, i&, rc&
  3.   With Selection
  4.   rc = .Rows.Count
  5.   For i = 1 To rc \ 2
  6.     v = .Rows(i).Value
  7.     .Rows(i).Value = .Rows(rc + 1 - i).Value
  8.     .Rows(rc + 1 - i).Value = v
  9.   Next
  10.   End With
  11. End Sub

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


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

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

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

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

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

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