Excel поменять местами строки vba excel

Иногда, когда мы используем рабочий лист, нам нужно поменять местами строки или столбцы. Например, я хочу заменить столбец A столбцом D, первое, что пришло мне в голову, — это использовать команду копирования и вставки. На самом деле, кроме копирования и вставки, есть и другие методы решения этой проблемы.

Поменять местами строки или столбцы с кодом VBA

быстро и удобно менять местами строки или столбцы с помощью Kutools for Excel

Перенесите данные из строк в несколько столбцов с помощью Kutools for Excel


1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Sub SwapTwoRange()
'Updateby Extendoffice
Dim Rng1 As Range, Rng2 As Range
Dim arr1 As Variant, arr2 As Variant
xTitleId = "KutoolsforExcel"
Set Rng1 = Application.Selection
Set Rng1 = Application.InputBox("Range1:", xTitleId, Rng1.Address, Type:=8)
Set Rng2 = Application.InputBox("Range2:", xTitleId, Type:=8)
Application.ScreenUpdating = False
arr1 = Rng1.Value
arr2 = Rng2.Value
Rng1.Value = arr2
Rng2.Value = arr1
Application.ScreenUpdating = True
End Sub

3. Затем нажмите кнопку для запуска кода, появится диалоговое окно, в котором вы можете выбрать два диапазона, которые вы хотите поменять местами, см. скриншоты:

4. После нажатия Ok, два диапазона меняются местами. Смотрите скриншоты:


Код может быть сложным для новичков в Excel, есть ли простой способ сделать это быстро и сэкономить время. Конечно, Kutools for Excel может помочь вам быстро и удобно поменять местами строки или столбцы.

Если вы установили Kutools for Excel, вы можете быстро поменять местами два столбца или строки.

1. Нажмите Кутулс > Диапазон > Обменять диапазоны, См. Снимок экрана:

2. В разделе Диапазоны обмена диалоговое окно, нажмите  кнопка из Диапазон обмена 1 чтобы выбрать столбец A, который вы хотите поменять местами, а затем щелкните  кнопка из Диапазон обмена 2 для выбора столбца D. ( Примечание: диапазоны для обмена должны быть одинакового размера.)

doc поменять местами столбцы 02 02

3. Затем нажмите OK. Два столбца поменялись местами, и форматирование ячеек также поменялось местами. Смотрите скриншоты:

С этой Диапазон обменаВы можете не только поменять местами строки или столбцы, но также можете поменять местами содержимое двух диапазонов. Щелкните здесь, чтобы узнать больше об этой функции.

Скачать и бесплатную пробную версию Kutools for Excel Сейчас !



Быстро переносите данные из строк в несколько столбцов на листе Excel:

Работы С Нами Kutools for ExcelАвтора Диапазон преобразования вы можете быстро перенести данные из одной строки или столбца в несколько строк или столбцов и наоборот.

документ транспонировать данные



Связанная статья:

Как быстро поменять местами содержимое двух ячеек в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (7)


Номинальный 5 из 5


·


рейтинги 1

Содержание

  1. Excel поменять местами строки vba excel
  2. Как поменять местами содержимое между строками или столбцами в Excel?
  3. Поменять местами строки или столбцы с кодом VBA
  4. Быстро и удобно меняйте местами строки или столбцы с помощью Kutools for Excel
  5. Перенести данные из строк в несколько столбцов с помощью Kutools for Excel
  6. Excel поменять строки местами
  7. Excel поменять строки местами
  8. Как поменять местами ячейки в Excel
  9. Описание задачи
  10. Поменять ячейки местами в одно действие
  11. Как транспонировать данные Excel
  12. Узнайте, как переворачивать ячейки и переключать строки в столбцы или столбцы в строки
  13. Как перевернуть ячейки столбца в Excel
  14. Как поменять ячейки строк в Excel
  15. Поменяйте местами только две колонки или строки
  16. Как поменять местами столбцы и строки
  17. Используйте VBA, чтобы поменять строки или столбцы (Дополнительно)
  18. Перевернуть столбцы или строки
  19. Поменяйте местами две колонки или строки
  20. Транспонировать весь диапазон
  21. Перелистывание столбцов и строк в Excel

Excel поменять местами строки vba excel

Как поменять местами содержимое между строками или столбцами в Excel?

Иногда, когда мы используем рабочий лист, нам нужно поменять местами строки или столбцы. Например, я хочу заменить столбец A столбцом D, первое, что пришло мне в голову, — это использовать команду копирования и вставки. На самом деле, кроме копирования и вставки, есть и другие методы решения этой проблемы.

Поменять местами строки или столбцы с кодом VBA

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

3. Затем нажмите кнопку для запуска кода, появится диалоговое окно, в котором вы можете выбрать два диапазона, которые вы хотите поменять местами, см. скриншоты:

4. После нажатия Ok, два диапазона меняются местами. Смотрите скриншоты:

Быстро и удобно меняйте местами строки или столбцы с помощью Kutools for Excel

Код может быть сложным для начинающих Excel, есть ли простой способ сделать это быстро и сэкономить время. Конечно, Kutools for Excel может помочь вам быстро и удобно поменять местами строки или столбцы.

Если вы установили Kutools for Excel, вы можете быстро поменять местами два столбца или строки.

1. Нажмите Кутулс > Диапазон > Обменять диапазоны, См. Снимок экрана:

2. В разделе Диапазоны обмена диалоговое окно, нажмите кнопка из Диапазон обмена 1 чтобы выбрать столбец A, который вы хотите поменять местами, а затем щелкните кнопка из Диапазон обмена 2 для выбора столбца D. ( Примечание: диапазоны для обмена должны быть одинакового размера.)

3. Затем нажмите OK. Два столбца поменялись местами, и форматирование ячеек также поменялось местами. Смотрите скриншоты:

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней.

С этой Диапазон обменаВы можете не только поменять местами строки или столбцы, но также можете поменять местами содержимое двух диапазонов. Щелкните здесь, чтобы узнать больше об этой функции.

Перенести данные из строк в несколько столбцов с помощью Kutools for Excel

Работы С Нами Kutools for ExcelАвтора Диапазон преобразования вы можете быстро перенести данные из одной строки или столбца в несколько строк или столбцов и наоборот.

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

Источник

Excel поменять строки местами

Excel поменять строки местами

Добрый день, уважаемые читатели! Наболевший вопрос, который откладывал долгое время. Сразу оговорюсь — о транспортировании (замены столбца на строку и наоборот) мы поговорим в следующих статьях.

Сегодня речь пойдёт о замене значений двух строк/столбцов, то есть нам нужно просто поменять местами столбцы или строки в таблице Excel. Что мы для этого обычно делаем:

  1. Выделяем строку/столбец, которые будем переносить;
  2. Даём команду «Вырезать»;
  3. Выделяем место где должны быть строки/столбцы;
  4. Даём команду «Вставить».

Также можно просто перетаскивать за рамку выделения нужные нам диапазоны.

Но бывают случаи, когда в наличии имеется большая таблица, в которой нужно поменять местами значения, но места под новые столбцы/строки взять негде. Не будем рассматривать вариант вставки новой строки/столбца, он может нарушить выверенную структуру и формулы. Что же тогда делать? Попробуем решить данную проблему с помощью макроса.

Для замены необходимо соблюдение двух условий:

1) диапазон ячеек ОБЯЗАТЕЛЬНО должен быть одинаковой величины;

2) ОБЯЗАТЕЛЬНО должны быть выделены два диапазона ячеек.

Dim ra As Range: Set ra = Selection

msg1 = «Нужно выделить ДВА диапазона ячеек одинакового размера!»

msg2 = «Нужно выделить диапазоны ОДИНАКОВОГО размера!»

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

  • ra — это область выделения;
  • msg1 и msg2 — сообщение о соответствующих ошибках;
  • If ra.Areas.Count <> 2 — условие выделения двух диапазонов;
  • If ra.Areas(1).Count <> ra — условие выделения одинаковых по длине диапазонов ячеек;
  • Application.ScreenUpdating — экране не обновится если не выполнены два условия;
  • остальное показывает, что диапазоны будут заменены друг на друга.

Добавим новый модуль к нашей книге. Вкладка «Разработчик», кнопка «Visual basic», далее «Insert» и «Module».

Теперь проверим правильность работы макроса. Выделим с помощью клавиши Ctrl два одинаковых диапазона ячеек (это может быть строка, столбец, просто ячейка). Воспользуемся сочетанием клавиш Alt+F8, чтобы вызвать диалоговое окно «Макросы» или перейдём на вкладку «Разработчик» и нажмём одноимённую кнопку. Появится список макросов, нажимаем кнопку «Выполнить» и наблюдаем результат.

Видим, макрос работает!

Если остались вопросы — посмотрите наше новое видео!

Вас может заинтересовать на урок — Удаление пустых ячеек.

Источник

Как поменять местами ячейки в Excel

Описание задачи

Иногда требуется местами две ячейки или целые области ячеек. Сделать это можно вручную в несколько шагов:

  1. Скопировать первую ячейку и вставить ее в какую-нибудь пустую неиспользуемую ячейку.
  2. Скопировать вторую ячейку и вставить вместо первой.
  3. Скопировать из 1-го действия первую ячейку и вставить вместо второй.

В общем это достаточно простая задача, на которую требуется секунд 20, однако, когда и этот процесс можно автоматизировать, работа становится намного приятнее.

Поменять ячейки местами в одно действие

Это возможно с помощью надстройки VBA-Excel. Чтобы поменять ячейки местами необходимо:

  1. Выделить первую ячейку или диапазон ячеек.
  2. Зажав клавишу Ctrl выделить вторую ячейку или диапазон ячеек.
  3. Перейти на вкладку VBA-Excel, которая появится после установки программы.
  4. В меню Поменять местами выберите команду Поменять ячейки.

Очевидно, что данным способом можно поменять местами два диапазона одинакового размера. Если вы попытаетесь выполнить эту операцию с неравными диапазонами, надстройка выдаст ошибку

Источник

Как транспонировать данные Excel

Узнайте, как переворачивать ячейки и переключать строки в столбцы или столбцы в строки

Excel является мощным инструментом для анализа данных, но некоторые вещи, такие как перелистывание ячеек в строке или столбце, могут стать настоящей проблемой. Есть медленный ручной способ, и есть быстрые приемы, чтобы переворачивать строки, переворачивать столбцы или преобразовывать столбцы в строки за считанные секунды.

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

Эти инструкции применяются к Microsoft Excel 2010, 1013, 2016, 2019 и Excel для Office 365.

Как перевернуть ячейки столбца в Excel

Несмотря на то, что в Excel существует множество вариантов сортировки для организации ячеек в алфавитном порядке, в действительности нет встроенной опции, позволяющей просто перевернуть коллекцию случайных данных, таких как имена.

Это не значит, что это невозможно. Это просто означает, что вам нужно выполнить пару дополнительных шагов, чтобы использовать функцию сортировки Excel, чтобы перевернуть столбец.

Нажмите правой кнопкой мыши столбец A и выберите Вставить , чтобы добавить новый столбец слева от столбца продавца, который вы хотите отсортировать.

Введите 1 в первой ячейке (строка 2). Введите 2 во вторую ячейку (строка 3).

Удерживая нажатой клавишу Cntrl , поместите угол мыши в нижний правый угол ячейки с цифрой 2. Курсор изменится на две горизонтальные линии. Дважды щелкните левой кнопкой мыши, чтобы автоматически заполнить оставшуюся часть столбца до имени последнего продавца. Это автоматически заполнит оставшуюся часть столбца числами от 3 до 8.

Выделите всю таблицу.

В меню Главная выберите Сортировать и фильтровать на ленте. Выберите Пользовательская сортировка .

Установите для Сортировать по значение Столбец А , для Сортировать по значение Значения ячеек и Порядок . От самого большого до самого маленького . Нажмите ОК .

Это позволит не только перевернуть весь столбец снизу вверх, но и убедиться, что все данные в остальной части таблицы поменяются на правильное имя продавца.

Теперь вы можете щелкнуть правой кнопкой мыши столбец A, чтобы выбрать его, щелкнуть правой кнопкой мыши столбец A и выбрать Удалить, чтобы удалить пронумерованный столбец.

Теперь у вас есть та же исходная таблица, с которой вы начали, но весь столбец и данные перевернуты снизу вверх.

Как поменять ячейки строк в Excel

Что делать, если вы хотите видеть данные о продажах с декабря по январь, а не с января по декабрь?

На самом деле вы можете использовать тот же подход, что и выше, для переворачивания столбцов с небольшим изменением.

Сначала добавьте новую строку прямо под заголовком и пронумеруйте эти ячейки от 1 (до января) до 12 (до декабря).

Теперь выполните те же шаги для сортировки таблицы, но на этот раз вы будете сортировать по строке, а не по столбцу.

Выделите только столбцы от A до M.

В меню Главная выберите Сортировать и фильтровать на ленте. Выберите Пользовательская сортировка .

Нажмите Параметры и выберите Сортировать слева направо .

Установите для Сортировать по значение Строка 2 , для Сортировать по значение Значения ячеек и Порядок . От самого большого до самого маленького . Нажмите ОК .

Теперь вы увидите, что весь ваш первый столбец перебирается с перевернутыми ячейками в столбце заголовка. Поскольку вы выделили все столбцы, содержащие данные, все строки данных также будут перевернуты, так что все выстроится идеально.

Теперь щелкните левой кнопкой мыши на строке 2 и удалите пронумерованную строку.

Поменяйте местами только две колонки или строки

Если вы хотите переключиться на соседние строки или столбцы, есть полезный трюк мыши, который можно использовать в Excel для достижения этой цели.

В этом примере электронной таблицы вы можете поменять строку Джули Мур на строку Джона Хадсона всего несколькими щелчками мыши.

Вот как вы это делаете:

Выделите весь ряд с Джули Мур в столбце А.

Удерживая нажатой клавишу Shift , переместите курсор мыши к верхнему краю ячейки Джули Мур. Курсор мыши изменится на перекрестие.

Удерживая нажатой клавишу Shift , перетащите мышь к верхнему краю ячейки Джона Хадсона, пока линия чуть выше этой строки не будет выделена темной линией.

Когда вы отпустите левую кнопку мыши, две строки поменяются местами.

Если вы хотите поменять столбцы вместо строк, вы можете выделить один столбец, а затем выполнить ту же процедуру.

Единственное отличие состоит в том, что вы перетаскиваете курсор мыши в сторону, пока строка после столбца, которую вы хотите поменять местами с темными линиями.

Вы можете поменять несколько строк или столбцов, используя эту же технику. Вам просто нужно выделить несколько строк или столбцов на первом шаге, а затем выполнить ту же процедуру.

Как поменять местами столбцы и строки

Что если вы хотите поменять местами весь столбец заголовка со всем столбцом продавца, при этом сохраняя целостность данных в электронной таблице?

Большинство людей предпочитают делать это вручную, даже не подозревая, что в Excel есть встроенная функция «transpose», которая сделает это за вас.

Вам понадобится область, где вы можете создать свой недавно «транспонированный» диапазон данных, поэтому создайте новый лист в вашей электронной таблице под названием «Продажи по месяцам».

Выделите весь диапазон ячеек для всей таблицы данных о продажах. Нажмите Cntrl-C , чтобы скопировать весь диапазон.

Нажмите на новый лист, который вы создаете. Щелкните правой кнопкой мыши вызов A1 и выберите параметр Транспонировать в разделе Параметры вставки .

Теперь вы увидите исходную электронную таблицу, но со строкой заголовка, поменяемой местами с первым столбцом, и всеми данными в диапазоне, упорядоченными для правильного выравнивания.

Использование функции транспонирования Excel позволяет сэкономить часы ручной работы по редактированию, если вы хотите реорганизовать свои электронные таблицы и просматривать данные различными способами.

Используйте VBA, чтобы поменять строки или столбцы (Дополнительно)

VBA – это мощная функция в Excel. На самом деле вы можете выполнить каждую из перечисленных выше задач с помощью очень простого кода VBA.

Затем преобразуйте свою функцию VBA в пользовательскую функцию Excel, которую вы можете вызывать, когда хотите поменять местами строки или столбцы.

Перевернуть столбцы или строки

Чтобы реорганизовать всю строку слева направо или столбец сверху вниз, вы можете создать для этого функцию Flip_Columns () или Flip_Rows ().

Чтобы создать этот код, выберите меню Разработчик и выберите Просмотреть код .

Если Разработчик не указан в меню, вы можете добавить его. Нажмите Файл , нажмите Параметры и выберите Настроить ленту . В этом окне найдите Разработчик на левой панели и добавьте его справа. Нажмите ОК , и появится пункт меню «Разработчик».

Чтобы перевернуть строки выбранного столбца на вашем листе, вы можете использовать следующий код VBA:

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

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

Эти сценарии VBA – это быстрый метод для обращения ячеек в столбце или строке одним щелчком мыши, но они не будут переворачивать ячейки в любых связанных строках данных, поэтому используйте эти сценарии только тогда, когда вы хотите перевернуть столбец или строку и ничего остальное.

Поменяйте местами две колонки или строки

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

Этот код VBA поменяет местами любые две ячейки, будь они рядом или одна поверх другой. Просто помните, что с этим кодом вы можете поменять только две ячейки.

Транспонировать весь диапазон

Можно использовать VBA, чтобы взять выделение из листа (как в сценариях выше), транспонировать диапазон, а затем вставить его в другое место (или в другой лист).

Для этого даже есть метод в VBA:

Однако сделать это в VBA – гораздо больше работы, чем стоит, поскольку, как вы видели ранее в этой статье, транспонирование всего диапазона – это не более, чем копирование и вставка этого диапазона всего несколькими щелчками мыши.

Перелистывание столбцов и строк в Excel

Как видите, в Excel очень легко переключать столбцы и строки, менять ячейки или транспонировать весь диапазон.

Как только вы узнаете, как должны выглядеть ваши данные, вы можете выбрать лучший вариант и перевернуть или преобразовать эти ячейки всего за несколько простых шагов.

Источник

Как поменять местами две «соседние» строчки таблицы?

Юрий_Нд

Дата: Суббота, 16.09.2017, 13:48 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 441


Репутация:

19

±

Замечаний:
0% ±


Excel 2013

Доброго дня форум. Доброго дня специалисты Excel.
Прошу Вашей подсказки,
каким объектом, функцией, процедурой, можно поменять местами две «соседние» строчки таблицы?

Сообщение отредактировал Юрий_НдСуббота, 16.09.2017, 13:50

 

Ответить

InExSu

Дата: Суббота, 16.09.2017, 15:23 |
Сообщение № 2

Группа: Друзья

Ранг: Ветеран

Сообщений: 646


Репутация:

96

±

Замечаний:
0% ±


Excel 2010

Привет!
[vba]

Код

Sub test_ПоменятьСтроки()
  Dim НомерВерхнейСтроки As Long
  НомерВерхнейСтроки = 3 ‘поменять третью с четвертой
  Call ПоменятьСтроки(НомерВерхнейСтроки)
End Sub
Sub ПоменятьСтроки(ByVal НомерВерхнейСтроки As Long)
  Dim НомерНижнейСтроки As Long
  НомерНижнейСтроки = НомерВерхнейСтроки + 1
  Rows(НомерНижнейСтроки & «:» & НомерНижнейСтроки).Cut
  Rows(НомерВерхнейСтроки & «:» & НомерВерхнейСтроки).Insert Shift:=xlDown
End Sub

[/vba]


Разработчик Битрикс24 php, Google Apps Script, VBA Excel

 

Ответить

Юрий_Нд

Дата: Суббота, 16.09.2017, 19:13 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 441


Репутация:

19

±

Замечаний:
0% ±


Excel 2013

Доброго вечера Уважаемый InExSu, очень извиняюсь, но не могли бы Вы скорректировать программу по изменению любых двух строк конкретной таблицы из приложенного файла. В данном случае прошу поменять местами четвёртую и пятую строки, шифр ресурса 1424-11598 и 200-0001.
Сейчас в таблице 30 строк, но количество строк может быть переменным, поэтому если нужно, программа сама должна определять общее количество строк.
С благодарностью ________________ Юрий.

К сообщению приложен файл:

6964619.xlsm
(13.8 Kb)

 

Ответить

KuklP

Дата: Суббота, 16.09.2017, 20:48 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

По двойному щелчку поменяет щелкнутую сроку со следующей. Любую. В модуль листа:
[vba]

Код

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim tr&, a, r As Range
    tr = Target.Row
    a = Cells(tr, 3).Resize(, 2).Value
    Cells(tr + 1, 3).Resize(, 2).Copy Cells(tr, 3)
    Cells(tr + 1, 3).Resize(, 2).Value = a
    Cancel = True
End Sub

[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

InExSu

Дата: Суббота, 16.09.2017, 21:15 |
Сообщение № 5

Группа: Друзья

Ранг: Ветеран

Сообщений: 646


Репутация:

96

±

Замечаний:
0% ±


Excel 2010

Макрос, который я для Вас написал ДублиТретьяКолонкаПустая не справился? Это же его любимая таблица. Натравил этот макрос на Ваш файл, он его легко «причесал».
Задача странная: если известны номера строк для обмена, зачем нам знать сколько их?
1424-11598 — у Вас в таблице их тру штуки.
В общем случае, чтобы поменять местами строки 4 и 5 (соседние). можно (как один из многих способов) запустить из Вашего кода строку
[vba]

Код

Call ПоменятьСтроки(4)

[/vba], неподалёку от кода самого макроса ПоменятьСтроки.
В Вашем случае 4 это 9 (номер строки ячейки, содержащей 1424-11598. Так что [vba]

Код

Call ПоменятьСтроки(9)

[/vba]


Разработчик Битрикс24 php, Google Apps Script, VBA Excel

 

Ответить

Юрий_Нд

Дата: Воскресенье, 17.09.2017, 00:39 |
Сообщение № 6

Группа: Проверенные

Ранг: Обитатель

Сообщений: 441


Репутация:

19

±

Замечаний:
0% ±


Excel 2013

Спасибо что откликнулись InExSu, ваш макрос «ДублиТретьяКолонкаПустая», вот уже почти 8 часов замечательно работает, ещё раз спасибо Вам за это. Но я почти ничего не знаю о том, как же всё-таки он работает. Поэтому вот уже возникла первая проблема.
Мне нужно чуть подвинуть таблицу. На 4 ячейки вправо, и на 1 ячейку вниз, то есть угловая ячейка таблицы из ячейки С4 должна переехать в ячейку G5. Пользуясь случаем хочу спросить Вас, как в этом случае скорректировать макрос?
А эту тему я организовал, когда почти все дружно сказали, что решить мою задачу почти невозможно. Вот тогда я и решил сделать макрос самостоятельно, с помощью пузырькового метода сортировки и логики. Сейчас конечно, после вашего макроса всю мою затею можно назвать только бредом, но желание побольше разобраться в простейших операциях ВБА и в Вашем макросе осталось. Также, пользуясь случаем, хочу попросить Вас оставить побольше комментариев в Вашем, таком замечательном макросе.
Теперь по поводу общего количества строк. Насколько понимаю, для сортировки моей таблицы нужно выделить область или объект Range в который нужно, как я понимаю, внести угловые точки моей таблицы. В противном случае первая строка моей таблицы будет не первой, а шестой, и при изменении нумерация строк будет изменяться значение строк во всех 2 в 24 степени колонок. Именно поэтому я и думал, что как-то нужно задать общее количество строк и столбцов моей таблицы.
KuklP, Я Вам тоже очень благодарен. Если это возможно, сделайте побольше комментариев в Вашем макросе.

 

Ответить

InExSu

Дата: Воскресенье, 17.09.2017, 09:23 |
Сообщение № 7

Группа: Друзья

Ранг: Ветеран

Сообщений: 646


Репутация:

96

±

Замечаний:
0% ±


Excel 2010


Разработчик Битрикс24 php, Google Apps Script, VBA Excel

 

Ответить

Формулировка задачи:

Я написал программу по обмену значений по строке, по столбцу и по диагонали
Нужно написать другую программу, которая будет делать обмен значений циклом ТОЛЬКО по столбцу или ТОЛЬКО по строке, число элементов произвольно.

Код к задаче: «Поменять местами строки или столбцы в Excel»

textual

Sub SwapRows()
Dim v, i&, rc&
  With Selection
  rc = .Rows.Count
  For i = 1 To rc  2
    v = .Rows(i).Value
    .Rows(i).Value = .Rows(rc + 1 - i).Value
    .Rows(rc + 1 - i).Value = v
  Next
  End With
End Sub

Полезно ли:

13   голосов , оценка 3.769 из 5

На чтение 8 мин. Просмотров 1.2k. Опубликовано 10.07.2019

Содержание

  1. Узнайте, как переворачивать ячейки и переключать строки в столбцы или столбцы в строки
  2. Как перевернуть ячейки столбца в Excel
  3. Как поменять ячейки строк в Excel
  4. Поменяйте местами только две колонки или строки
  5. Как поменять местами столбцы и строки
  6. Используйте VBA, чтобы поменять строки или столбцы (Дополнительно)
  7. Перевернуть столбцы или строки
  8. Поменяйте местами две колонки или строки
  9. Транспонировать весь диапазон
  10. Перелистывание столбцов и строк в Excel

Узнайте, как переворачивать ячейки и переключать строки в столбцы или столбцы в строки

Excel является мощным инструментом для анализа данных, но некоторые вещи, такие как перелистывание ячеек в строке или столбце, могут стать настоящей проблемой. Есть медленный ручной способ, и есть быстрые приемы, чтобы переворачивать строки, переворачивать столбцы или преобразовывать столбцы в строки за считанные секунды.

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

Эти инструкции применяются к Microsoft Excel 2010, 1013, 2016, 2019 и Excel для Office 365.

Как перевернуть ячейки столбца в Excel

Несмотря на то, что в Excel существует множество вариантов сортировки для организации ячеек в алфавитном порядке, в действительности нет встроенной опции, позволяющей просто перевернуть коллекцию случайных данных, таких как имена.

Это не значит, что это невозможно. Это просто означает, что вам нужно выполнить пару дополнительных шагов, чтобы использовать функцию сортировки Excel, чтобы перевернуть столбец.

  1. Нажмите правой кнопкой мыши столбец A и выберите Вставить , чтобы добавить новый столбец слева от столбца продавца, который вы хотите отсортировать.

  2. Введите 1 в первой ячейке (строка 2). Введите 2 во вторую ячейку (строка 3).

  3. Удерживая нажатой клавишу Cntrl , поместите угол мыши в нижний правый угол ячейки с цифрой 2. Курсор изменится на две горизонтальные линии. Дважды щелкните левой кнопкой мыши, чтобы автоматически заполнить оставшуюся часть столбца до имени последнего продавца. Это автоматически заполнит оставшуюся часть столбца числами от 3 до 8.

  4. Выделите всю таблицу.

  5. В меню Главная выберите Сортировать и фильтровать на ленте. Выберите Пользовательская сортировка .

  6. Установите для Сортировать по значение Столбец А , для Сортировать по значение Значения ячеек и Порядок . От самого большого до самого маленького . Нажмите ОК .

Это позволит не только перевернуть весь столбец снизу вверх, но и убедиться, что все данные в остальной части таблицы поменяются на правильное имя продавца.

Теперь вы можете щелкнуть правой кнопкой мыши столбец A, чтобы выбрать его, щелкнуть правой кнопкой мыши столбец A и выбрать Удалить, чтобы удалить пронумерованный столбец.

Теперь у вас есть та же исходная таблица, с которой вы начали, но весь столбец и данные перевернуты снизу вверх.

Как поменять ячейки строк в Excel

Что делать, если вы хотите видеть данные о продажах с декабря по январь, а не с января по декабрь?

На самом деле вы можете использовать тот же подход, что и выше, для переворачивания столбцов с небольшим изменением.

Сначала добавьте новую строку прямо под заголовком и пронумеруйте эти ячейки от 1 (до января) до 12 (до декабря).

Теперь выполните те же шаги для сортировки таблицы, но на этот раз вы будете сортировать по строке, а не по столбцу.

  1. Выделите только столбцы от A до M.

  2. В меню Главная выберите Сортировать и фильтровать на ленте. Выберите Пользовательская сортировка .

  3. Нажмите Параметры и выберите Сортировать слева направо .

  4. Установите для Сортировать по значение Строка 2 , для Сортировать по значение Значения ячеек и Порядок . От самого большого до самого маленького . Нажмите ОК .

Теперь вы увидите, что весь ваш первый столбец перебирается с перевернутыми ячейками в столбце заголовка. Поскольку вы выделили все столбцы, содержащие данные, все строки данных также будут перевернуты, так что все выстроится идеально.

Теперь щелкните левой кнопкой мыши на строке 2 и удалите пронумерованную строку.

Поменяйте местами только две колонки или строки

Если вы хотите переключиться на соседние строки или столбцы, есть полезный трюк мыши, который можно использовать в Excel для достижения этой цели.

В этом примере электронной таблицы вы можете поменять строку Джули Мур на строку Джона Хадсона всего несколькими щелчками мыши.

Вот как вы это делаете:

  1. Выделите весь ряд с Джули Мур в столбце А.

  2. Удерживая нажатой клавишу Shift , переместите курсор мыши к верхнему краю ячейки Джули Мур. Курсор мыши изменится на перекрестие.

  3. Удерживая нажатой клавишу Shift , перетащите мышь к верхнему краю ячейки Джона Хадсона, пока линия чуть выше этой строки не будет выделена темной линией.

  4. Когда вы отпустите левую кнопку мыши, две строки поменяются местами.

Если вы хотите поменять столбцы вместо строк, вы можете выделить один столбец, а затем выполнить ту же процедуру.

Единственное отличие состоит в том, что вы перетаскиваете курсор мыши в сторону, пока строка после столбца, которую вы хотите поменять местами с темными линиями.

Вы можете поменять несколько строк или столбцов, используя эту же технику. Вам просто нужно выделить несколько строк или столбцов на первом шаге, а затем выполнить ту же процедуру.

Как поменять местами столбцы и строки

Что если вы хотите поменять местами весь столбец заголовка со всем столбцом продавца, при этом сохраняя целостность данных в электронной таблице?

Большинство людей предпочитают делать это вручную, даже не подозревая, что в Excel есть встроенная функция «transpose», которая сделает это за вас.

Вам понадобится область, где вы можете создать свой недавно «транспонированный» диапазон данных, поэтому создайте новый лист в вашей электронной таблице под названием «Продажи по месяцам».

  1. Выделите весь диапазон ячеек для всей таблицы данных о продажах. Нажмите Cntrl-C , чтобы скопировать весь диапазон.

  2. Нажмите на новый лист, который вы создаете. Щелкните правой кнопкой мыши вызов A1 и выберите параметр Транспонировать в разделе Параметры вставки .

  3. Теперь вы увидите исходную электронную таблицу, но со строкой заголовка, поменяемой местами с первым столбцом, и всеми данными в диапазоне, упорядоченными для правильного выравнивания.

Использование функции транспонирования Excel позволяет сэкономить часы ручной работы по редактированию, если вы хотите реорганизовать свои электронные таблицы и просматривать данные различными способами.

Используйте VBA, чтобы поменять строки или столбцы (Дополнительно)

VBA – это мощная функция в Excel. На самом деле вы можете выполнить каждую из перечисленных выше задач с помощью очень простого кода VBA.

Затем преобразуйте свою функцию VBA в пользовательскую функцию Excel, которую вы можете вызывать, когда хотите поменять местами строки или столбцы.

Перевернуть столбцы или строки

Чтобы реорганизовать всю строку слева направо или столбец сверху вниз, вы можете создать для этого функцию Flip_Columns () или Flip_Rows ().

Чтобы создать этот код, выберите меню Разработчик и выберите Просмотреть код .

Если Разработчик не указан в меню, вы можете добавить его. Нажмите Файл , нажмите Параметры и выберите Настроить ленту . В этом окне найдите Разработчик на левой панели и добавьте его справа. Нажмите ОК , и появится пункт меню «Разработчик».

Чтобы перевернуть строки выбранного столбца на вашем листе, вы можете использовать следующий код VBA:

 Sub Flip_Rows () 
Dim vTop как вариант
Dim vEnd как вариант
Dim iStart как целое число
Dim iEnd как целое число
Application.ScreenUpdating = False
iStart = 1
iEnd = Selection.Rows.Count
Сделать, пока iStart vTop = Selection.Rows (iStart)
vEnd = Selection.Rows (iEnd) < br /> Selection.Rows (iEnd) = vTop
Selection.Rows (iStart) = vEnd
iStart = iStart + 1
iEnd = iEnd - 1
Loop
Application.ScreenUpdating = True
End Sub

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

 Sub Flip_Columns () 
Dim vLeft как вариант
Dim vRight как вариант
Dim iStart как целое число
Dim iEnd как целое число
Application.ScreenUpdating = False
iStart = 1
iEnd = Selection.Columns.Count
Делать пока iStart vTop = Selection.Columns (iStart)
vEnd = Selection.Columns (iEnd) < br /> Selection.Columns (iEnd) = vRight
Selection.Columns (iStart) = vLeft
iStart = iStart + 1
iEnd = iEnd - 1
Loop
Application.ScreenUpdating = True
End Sub

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

Эти сценарии VBA – это быстрый метод для обращения ячеек в столбце или строке одним щелчком мыши, но они не будут переворачивать ячейки в любых связанных строках данных, поэтому используйте эти сценарии только тогда, когда вы хотите перевернуть столбец или строку и ничего остальное.

Поменяйте местами две колонки или строки

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

 Sub Swap () 
Для i = 1 в Selection.Areas (1) .Count
temp = Selection.Areas (1) (i)
Selection.Areas (1) ( i) = Selection.Areas (2) (i)
Selection.Areas (2) (i) = temp
Next i
End Sub

Этот код VBA поменяет местами любые две ячейки, будь они рядом или одна поверх другой. Просто помните, что с этим кодом вы можете поменять только две ячейки.

Транспонировать весь диапазон

Можно использовать VBA, чтобы взять выделение из листа (как в сценариях выше), транспонировать диапазон, а затем вставить его в другое место (или в другой лист).

Для этого даже есть метод в VBA:

 Set DestRange = Application.WorksheetFunction.Transpose (SelectedRange) 

Однако сделать это в VBA – гораздо больше работы, чем стоит, поскольку, как вы видели ранее в этой статье, транспонирование всего диапазона – это не более, чем копирование и вставка этого диапазона всего несколькими щелчками мыши.

Перелистывание столбцов и строк в Excel

Как видите, в Excel очень легко переключать столбцы и строки, менять ячейки или транспонировать весь диапазон.

Как только вы узнаете, как должны выглядеть ваши данные, вы можете выбрать лучший вариант и перевернуть или преобразовать эти ячейки всего за несколько простых шагов.

Понравилась статья? Поделить с друзьями:
  • Excel посчитать все ячейки со значением
  • Excel получить список листов в книге excel vba
  • Excel поля на все страницы
  • Excel посчитать все значения больше
  • Excel получить содержимое ячейки по адресу