Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Обмен значений в диапазоне - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обмен значений в диапазоне (Формулы/Formulas)
Обмен значений в диапазоне
vlaste Дата: Воскресенье, 16.10.2016, 16:08 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Я написал программу по обмену значений по строке, по столбцу и по диагонали
Нужно написать другую программу, которая будет делать обмен значений циклом ТОЛЬКО по столбцу или ТОЛЬКО по строке, число элементов произвольно.
К сообщению приложен файл: _-4-.xlsm(20Kb)
 
Ответить
СообщениеЯ написал программу по обмену значений по строке, по столбцу и по диагонали
Нужно написать другую программу, которая будет делать обмен значений циклом ТОЛЬКО по столбцу или ТОЛЬКО по строке, число элементов произвольно.

Автор - vlaste
Дата добавления - 16.10.2016 в 16:08
Pelena Дата: Воскресенье, 16.10.2016, 18:20 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 10462
Репутация: 2362 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
число элементов произвольно

Как должен происходить "обмен" в этом случае?


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
число элементов произвольно

Как должен происходить "обмен" в этом случае?

Автор - Pelena
Дата добавления - 16.10.2016 в 18:20
gling Дата: Воскресенье, 16.10.2016, 18:29 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1402
Репутация: 343 ±
Замечаний: 0% ±

2010
Я написал программу по обмену значений по строке

Нужно написать другую программу,
Так в чем проблема, здесь вы для чего, чтобы похвастаться или просто известить нас о следующем этапе ваших программ?
 
Ответить
Сообщение
Я написал программу по обмену значений по строке

Нужно написать другую программу,
Так в чем проблема, здесь вы для чего, чтобы похвастаться или просто известить нас о следующем этапе ваших программ?

Автор - gling
Дата добавления - 16.10.2016 в 18:29
vlaste Дата: Воскресенье, 16.10.2016, 18:29 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Pelena, нужно сделать например только по строке, и не по двум ячейкам как я сделал, ячеек может быть произвольное количество
например: по строке 123456-612345 как то так
 
Ответить
СообщениеPelena, нужно сделать например только по строке, и не по двум ячейкам как я сделал, ячеек может быть произвольное количество
например: по строке 123456-612345 как то так

Автор - vlaste
Дата добавления - 16.10.2016 в 18:29
Pelena Дата: Воскресенье, 16.10.2016, 18:48 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 10462
Репутация: 2362 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Вариант со сдвигом влево
[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
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеВариант со сдвигом влево
[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
[/vba]

Автор - Pelena
Дата добавления - 16.10.2016 в 18:48
vlaste Дата: Понедельник, 17.10.2016, 18:19 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Pelena, не подскажите как сделать со сдвигом слева направо
 
Ответить
СообщениеPelena, не подскажите как сделать со сдвигом слева направо

Автор - vlaste
Дата добавления - 17.10.2016 в 18:19
Pelena Дата: Понедельник, 17.10.2016, 18:26 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 10462
Репутация: 2362 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Аналогично, только начиная с конца
[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
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеАналогично, только начиная с конца
[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
[/vba]

Автор - Pelena
Дата добавления - 17.10.2016 в 18:26
vlaste Дата: Понедельник, 17.10.2016, 19:22 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Pelena, ааа вон как спасибо большое
 
Ответить
СообщениеPelena, ааа вон как спасибо большое

Автор - vlaste
Дата добавления - 17.10.2016 в 19:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обмен значений в диапазоне (Формулы/Formulas)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!