Excel VBA Макросы. Поменять местами числа в ячейках.

Автор vademonik, 16 апреля 2014, 01:48

vademonik

Помогите составить макрос, который меняет местами числа, т.е. число из клетки А1 ставит в клетку А2, А2 в А1, А3 в А4, А4 в А3 и так далее до А20.

Администратор

Вообще, чудес не бывает и в программировании. В программировании, чтобы поменять местами числа из двух эксель-ячеек, нужно использовать ещё третий элемент. В этот третий элемент помещается число из одной эксель-ячейки, т.к. при помещении числа из одной ячейки в другую, данные в одной ячейке будут стёрты. Для этого нужно использовать третий элемент, чтобы сохранить число. Можно использовать третью эксель-ячейку, а можно использовать переменную.

В повседневной жизни так же. Предположим у вас есть две кружки с водой. Чтобы обменяться содержимым двух кружок, нужно использовать третью кружку. Попробуйте сделать.

Макрос
Sub Макрос()
   
    Dim var, i As Long
   
   
    For i = 1 To 20 Step 2
   
        ' Запись числа из эксель-ячейки в переменную "var", иначе оно будет удалено,
            ' когда вы поместите туда число из другой ячейки.
        var = Cells(i, 1).Value
       
        ' Помещение данных из одной ячейки в другую.
        Cells(i, 1).Value = Cells(i + 1, 1).Value
       
        ' Помещение данных из переменной в эксель-ячейку.
        Cells(i + 1, 1).Value = var
       
    Next i
   
End Sub
[свернуть]

vademonik