Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 13:44   #1
Whitered
Новичок
Джуниор
 
Аватар для Whitered
 
Регистрация: 11.08.2010
Сообщений: 3
Сообщение Менять местами выделенные ячейки

Здравствуйте!
Стоит задача с помощью макроса в Exel поменять местами выделенные ячейки (ну или выделенные строки/столбцы), при этом ячейки(или строки/столбцы) не являются смежными, а - произвольно выбранными пользователем.
Whitered вне форума Ответить с цитированием
Старый 11.08.2010, 14:12   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Менять надо только значения (так намного проще), или вместе с форматированием?
EducatedFool вне форума Ответить с цитированием
Старый 11.08.2010, 14:25   #3
Whitered
Новичок
Джуниор
 
Аватар для Whitered
 
Регистрация: 11.08.2010
Сообщений: 3
По умолчанию

Только значения
Whitered вне форума Ответить с цитированием
Старый 11.08.2010, 14:45   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот вам макрос:
Код:
Sub SwapRanges()
    Dim ra As Range: Set ra = Selection
    msg1 = "Надо выделить ДВА диапазона ячеек одинакового размера"
    msg2 = "Надо выделить 2 диапазона ячеек ОДИНАКОВОГО размера"
    If ra.Areas.Count <> 2 Then MsgBox msg1, vbCritical, "Ошибка": Exit Sub
    If ra.Areas(1).Count <> ra.Areas(2).Count Then MsgBox msg2, vbCritical, "Ошибка": Exit Sub
    Application.ScreenUpdating = False
    arr2 = ra.Areas(2).Value
    ra.Areas(2).Value = ra.Areas(1).Value
    ra.Areas(1).Value = arr2
End Sub
А вот пример файла с макросом: http://excelvba.ru/XL_Files/Sample__...__16-45-29.zip
(запуск макроса нажатием Ctrl + Shift + S)
EducatedFool вне форума Ответить с цитированием
Старый 11.08.2010, 14:59   #5
Whitered
Новичок
Джуниор
 
Аватар для Whitered
 
Регистрация: 11.08.2010
Сообщений: 3
По умолчанию

EducatedFool, спасибо, а то бы так и ломал себе голову
Whitered вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копировать только выделенные ячейки Kolpachog Microsoft Office Excel 2 10.06.2010 16:11
менять местами между столбцами и строками Aqil_f Microsoft Office Excel 6 23.05.2009 10:22
Можно ли своей функцей менять цвет ячейки в которую эта фу-я вставлена? maeglah Microsoft Office Excel 3 21.04.2009 05:23
Менять 2 Label местами по нажатию кнопки? PsyEgik Помощь студентам 6 29.03.2009 16:37
КАК менять элементы матрицы местами? RomT24 Паскаль, Turbo Pascal, PascalABC.NET 3 10.01.2009 21:34