Excel vba поменять строки местами
Узнайте, как переворачивать ячейки и переключать строки в столбцы или столбцы в строки
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, которую вы можете вызывать, когда хотите поменять местами строки или столбцы.
Перевернуть столбцы или строки
Чтобы реорганизовать всю строку слева направо или столбец сверху вниз, вы можете создать для этого функцию Flip_Columns () или Flip_Rows ().
Чтобы создать этот код, выберите меню Разработчик и выберите Просмотреть код .
Если Разработчик не указан в меню, вы можете добавить его. Нажмите Файл , нажмите Параметры и выберите Настроить ленту . В этом окне найдите Разработчик на левой панели и добавьте его справа. Нажмите ОК , и появится пункт меню «Разработчик».
Чтобы перевернуть строки выбранного столбца на вашем листе, вы можете использовать следующий код VBA:
Вы можете сделать то же самое с ячейками в строке, перевернув все столбцы в этой строке, используя следующий код.
Вы можете запустить любой из этих сценариев VBA, выбрав строку или столбец, которые вы хотите повернуть, перейдя в окно редактора кода и щелкнув значок запуска в меню.
Поменяйте местами две колонки или строки
Вы можете поменять любые два значения на листе, выбрав два значения и выполнив следующий код VBA.
Этот код VBA поменяет местами любые две ячейки, будь они рядом или одна поверх другой. Просто помните, что с этим кодом вы можете поменять только две ячейки.
Транспонировать весь диапазон
Можно использовать VBA, чтобы взять выделение из листа (как в сценариях выше), транспонировать диапазон, а затем вставить его в другое место (или в другой лист).
Для этого даже есть метод в 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. Нажмите на Kutools > Диапазон > Обменять диапазоны, См. Снимок экрана:
2. В Диапазоны обмена диалоговое окно, нажмите кнопка из Диапазон обмена 1 чтобы выбрать столбец A, который вы хотите поменять местами, а затем щелкните кнопка из Диапазон обмена 2 для выбора столбца D. ( Примечание: диапазоны для обмена должны быть одинакового размера.)
3. Затем нажмите OK. Два столбца поменялись местами, и форматирование ячеек также поменялось местами. Смотрите скриншоты:
С этой Диапазон обменаВы можете не только поменять местами строки или столбцы, но также можете поменять местами содержимое двух диапазонов. Щелкните здесь, чтобы узнать больше об этой функции.
Перенести данные из строк в несколько столбцов с помощью Kutools for Excel
Быстро переносите данные из строк в несколько столбцов на листе Excel:Работы С Нами Kutools for ExcelАвтора Диапазон преобразования вы можете быстро перенести данные из одной строки или столбца в несколько строк или столбцов и наоборот.
Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!
Есть возможно банальная проблема, но мне новичку не под силу (а по крайней мере нет идеи). Помогите, пожалуйста, написать макрос который из таблицы M(i,j) делает таблицу M(j,i), то-есть меняет местами строки со столбцами и наоборот.
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Поменять местами элементы строк с столбцами двумерного массива
Я вывел двумерный массив в dataGridView6 int N = 10; int arr = new int; .
Замена строк в таблице итоговыми значениями
Суть задачи такова: Есть таблица исторических значений. У каждого Значения есть - КодПроекта.
Замена местами столбцов и строк
Как поменять местами столбцы и строки в печатной форме документа. Пробовал, но ничего не получилось.
Замена строк местами в StringGrid
При попытки заменить строки местами, они меняются, но неккоректно. procedure.
Memesis,
Прикрепите лист эксель с таблицей.
Добавлено через 10 минут
Memesis,
Выполненна или выполняется?
без таблицы- никак.
Добавлено через 18 минут
Memesis,
Ну куда же вы убёгли?
Али ячейки числами в ёкселе заполнить вам тоже
Поймите, НАДО САМОМУ РУЧКАМИ ИНОГДА .
Таблица может быть любая, но я пыталась делать на 10х10. Выглядела она примерно так это задача из курса обучения или возникла на производстве?Memesis, Если это не студенческое задание, то :
если без vba то тоже самое что написал pashulka делается так
1. выделить таблицу
2. нажать правую кнопку мыши и выбрать Копировать (или нажать ctrl+c)
3. выделить левую верхнюю ячейку места куда будет вставляться таблица
4. нажать правую кнопку мыши и выбрать Специальная вставка - Транспонировать
Решение
Memesis,Если это студенческое задание и задача возникла на производстве, то можно примерно так ( если таблица начинается с ячейки А1) : Да, это студенчиское задание, спасибо большое всем кто ответил, вы мне очень помогли :3
Двухмерные массив.Замена строк местами.
В двухмерном массиве первую строку поменять местами с последней строкой, вторую строку с.
Поиск в таблице и вывод нужных строк+замена числового значения словом
Всем доброго времени суток Подскажите пожалуйста как сделать следующее: Имеетца txt.
Word VBA - интервал между столбцами в таблице
Подскажите пожалуйста, как с помощью Word VBA задать интервал между столбцами в таблице. Руками в.
Как в двумерном массиве поменять строки со столбцами местами?!
Как в двумерном массиве поменять строки со столбцами местами? Допустим есть двумерный массив в.
Перестановка строк со столбцами
Здравствуйте форумчане! у меня вот такая вот задачка: Написать процедуру обмена столбца и строки.
Сегодня речь пойдёт о замене значений двух строк/столбцов, то есть нам нужно просто поменять местами столбцы или строки в таблице Excel. Что мы для этого обычно делаем:
- Выделяем строку/столбец, которые будем переносить;
- Даём команду "Вырезать";
- Выделяем место где должны быть строки/столбцы;
- Даём команду "Вставить".
Также можно просто перетаскивать за рамку выделения нужные нам диапазоны.
Но бывают случаи, когда в наличии имеется большая таблица, в которой нужно поменять местами значения, но места под новые столбцы/строки взять негде. Не будем рассматривать вариант вставки новой строки/столбца, он может нарушить выверенную структуру и формулы. Что же тогда делать? Попробуем решить данную проблему с помощью макроса.
Для замены необходимо соблюдение двух условий:
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
Добавим новый модуль к нашей книге. Вкладка "Разработчик", кнопка "Visual basic", далее "Insert" и "Module".
Теперь проверим правильность работы макроса. Выделим с помощью клавиши Ctrl два одинаковых диапазона ячеек (это может быть строка, столбец, просто ячейка). Воспользуемся сочетанием клавиш Alt+F8, чтобы вызвать диалоговое окно "Макросы" или перейдём на вкладку "Разработчик" и нажмём одноимённую кнопку. Появится список макросов, нажимаем кнопку "Выполнить" и наблюдаем результат.
Видим, макрос работает!
Если остались вопросы - посмотрите наше новое видео!
Expression – выражение (переменная), возвращающее объект Range.
Параметры
Параметр | Описание | Значения |
---|---|---|
Shift | Необязательный параметр. Определяет направление сдвига ячеек. Если параметр Shift опущен, направление выбирается в зависимости от формы* диапазона. | xlShiftDown (-4121) – ячейки сдвигаются вниз; xlShiftToRight (-4161) – ячейки сдвигаются вправо. |
CopyOrigin | Необязательный параметр. Определяет: из каких ячеек копировать формат. По умолчанию формат копируется из ячеек сверху или слева. | xlFormatFromLeftOrAbove (0) – формат копируется из ячеек сверху или слева; xlFormatFromRightOrBelow (1) – формат копируется из ячеек снизу или справа. |
* Если диапазон горизонтальный или квадратный (количество строк меньше или равно количеству столбцов), ячейки сдвигаются вниз. Если диапазон вертикальный (количество строк больше количества столбцов), ячейки сдвигаются вправо.
Примеры
Простая вставка диапазона
Вставка диапазона ячеек в диапазон «F5:K9» со сдвигом исходных ячеек вправо:
Если бы параметр Shift не был указан, сдвиг ячеек, по умолчанию, произошел бы вниз, так как диапазон горизонтальный.
Вставка вырезанного диапазона
Вставка диапазона, вырезанного в буфер обмена методом Range.Cut, из буфера обмена со сдвигом ячеек по умолчанию:
Обратите внимание, что при использовании метода Range.Cut, точка вставки (в примере: Range("D2") ) не может находится внутри вырезанного диапазона, а также в строке или столбце левой верхней ячейки вырезанного диапазона вне вырезанного диапазона (в примере: строка 1 и столбец «A»).Вставка скопированного диапазона
Вставка диапазона, скопированного в буфер обмена методом Range.Copy, из буфера обмена со сдвигом ячеек по умолчанию:
Обратите внимание, что при использовании метода Range.Copy, точка вставки (в примере: Range("F2") ) не может находится внутри скопированного диапазона, но в строке или столбце левой верхней ячейки скопированного диапазона вне скопированного диапазона находится может.Вставка и перемещение строк
Вставка одной строки на место пятой строки со сдвигом исходной строки вниз:
Вставка четырех строк на место пятой-восьмой строк со сдвигом исходных строк вниз:
Читайте также: