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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2010, 06:55   #1
Decker
Новичок
Джуниор
 
Регистрация: 14.02.2010
Сообщений: 1
По умолчанию Обмен двух столбцов на листе местами

Доброе время суток всем! Хотел спросить такую вещь ... можно ли написать пример кода на VBA, кого не затруднит, для обмена двух строк или столбцов с заданными номерами местами. Понятно что можно сделать запись макроса, выполнить все операции вручную, и потом на основе записанного макроса набросать что-то "удобоваримое" для себя. Но может у кого-то есть готовое / красивое / универсальное решение?

И второй вопрос ... есть определенная выделенная область. Каким образом можно снять объединение со всех ячеек в ней, если в ней имеются объединенные ячейки? Также интересует пример на VBA. Заранее спасибо.

з.ы. Последний вопрос отпал:
Код:
With Selection
        .MergeCells = False
    End With

Последний раз редактировалось Decker; 14.02.2010 в 07:01.
Decker вне форума Ответить с цитированием
Старый 14.02.2010, 07:46   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Decker Посмотреть сообщение
Доброе время суток всем! Хотел спросить такую вещь ... можно ли написать пример кода на VBA, кого не затруднит, для обмена двух строк или столбцов с заданными номерами местами. Понятно что можно сделать запись макроса, выполнить все операции вручную, и потом на основе записанного макроса набросать что-то "удобоваримое" для себя. Но может у кого-то есть готовое / красивое / универсальное решение?


з.ы. Последний вопрос отпал:
Код:
With Selection
        .MergeCells = False
    End With
http://www.planetaexcel.ru/forum.php?thread_id=11495
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 14.02.2010, 09:04   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Decker.
".. пример кода.. для обмена двух строк или столбцов.." может быть таким:
Код:
Sub rePlaceRows()
Dim v()
v = Rows(2).Value: Rows(2) = Rows(1).Value: Rows(1) = v
End Sub
Sub rePlaceColumns()
Dim v()
v = Columns(2).Value: Columns(2) = Columns(1).Value: Columns(1) = v
End Sub
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 14.02.2010, 14:31   #4
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Всё придумано до нас:
http://www.mvps.org/dmcritchie/excel/swap.htm
И некоторые даже пытаются это продавать:
http://www.sobolsoft.com/excelreverse/

Последний раз редактировалось Aent; 14.02.2010 в 14:49.
Aent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите изменить название столбцов на листе Exel ari23 Microsoft Office Excel 2 12.08.2009 10:43
Обмен местами 2х элементов в односвязном списке. amdbodia Общие вопросы C/C++ 4 31.05.2009 23:26
обмен данными из двух таблиц (одинаковой структуры) но в разных базах Tanuska___:) БД в Delphi 1 26.11.2008 19:41
Прибавление данніх из двух столбцов gavrylyuk Microsoft Office Excel 3 01.08.2008 11:40
Обмен местами) Sota Общие вопросы C/C++ 7 22.02.2008 18:32