Поменять местами строки или столбцы в Excel - VBA
Формулировка задачи:
Я написал программу по обмену значений по строке, по столбцу и по диагонали
Нужно написать другую программу, которая будет делать обмен значений циклом ТОЛЬКО по столбцу или ТОЛЬКО по строке, число элементов произвольно.
Листинг программы
- Private Sub CommandButton1_Click()
- Dim c1 As Range
- Dim c2 As Range
- Dim s1 As String, s2 As String
- If Selection.Cells.Count > 2 Or Selection.Cells.Count < 2 Then
- MsgBox "Выделенная область должна содержать только две ячейки", vbCritical
- Exit Sub
- End If
- If Selection.Areas.Count > 1 Then
- Set c1 = Selection.Areas(1).Cells(1, 1)
- Set c2 = Selection.Areas(2).Cells(1, 1)
- Else
- Set c1 = Selection.Cells(1)
- Set c2 = Selection.Cells(2)
- End If
- s1 = c1.Value
- s2 = c2.Value
- c1.Value = s2
- c2.Value = s1
- End Sub
Решение задачи: «Поменять местами строки или столбцы в Excel»
textual
Листинг программы
- Sub SwapRows()
- Dim v, i&, rc&
- With Selection
- rc = .Rows.Count
- For i = 1 To rc \ 2
- v = .Rows(i).Value
- .Rows(i).Value = .Rows(rc + 1 - i).Value
- .Rows(rc + 1 - i).Value = v
- Next
- End With
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д