Я написал программу по обмену значений по строке, по столбцу и по диагонали Нужно написать другую программу, которая будет делать обмен значений циклом ТОЛЬКО по столбцу или ТОЛЬКО по строке, число элементов произвольно.
Я написал программу по обмену значений по строке, по столбцу и по диагонали Нужно написать другую программу, которая будет делать обмен значений циклом ТОЛЬКО по столбцу или ТОЛЬКО по строке, число элементов произвольно.vlaste
Pelena, нужно сделать например только по строке, и не по двум ячейкам как я сделал, ячеек может быть произвольное количество например: по строке 123456-612345 как то так
Pelena, нужно сделать например только по строке, и не по двум ячейкам как я сделал, ячеек может быть произвольное количество например: по строке 123456-612345 как то такvlaste
Private Sub CommandButton1_Click() Dim s1 As String If Selection.Rows.Count > 1 Then MsgBox "Выделенная область должна содержать только одну строку", vbCritical Exit Sub End If With Selection s1 = .Cells(1) For i = 1 To .Cells.Count - 1 .Cells(i) = .Cells(i + 1) Next i .Cells(i) = s1 End With End Sub
[/vba]
Вариант со сдвигом влево [vba]
Код
Private Sub CommandButton1_Click() Dim s1 As String If Selection.Rows.Count > 1 Then MsgBox "Выделенная область должна содержать только одну строку", vbCritical Exit Sub End If With Selection s1 = .Cells(1) For i = 1 To .Cells.Count - 1 .Cells(i) = .Cells(i + 1) Next i .Cells(i) = s1 End With End Sub
Private Sub CommandButton1_Click() Dim s1 As String If Selection.Rows.Count > 1 Then MsgBox "Выделенная область должна содержать только одну строку", vbCritical Exit Sub End If With Selection s1 = .Cells(.Cells.Count) For i = .Cells.Count To 2 Step -1 .Cells(i) = .Cells(i - 1) Next i .Cells(i) = s1 End With End Sub
[/vba]
Аналогично, только начиная с конца [vba]
Код
Private Sub CommandButton1_Click() Dim s1 As String If Selection.Rows.Count > 1 Then MsgBox "Выделенная область должна содержать только одну строку", vbCritical Exit Sub End If With Selection s1 = .Cells(.Cells.Count) For i = .Cells.Count To 2 Step -1 .Cells(i) = .Cells(i - 1) Next i .Cells(i) = s1 End With End Sub