О том, как при помощи несложного макроса VBA в программе «Эксель» можно разместить данные из таблицы в две колонки для распечатки на принтере.
Приведенный в статье макрос является альтернативой опции «колонки» используемой в настройках «разметки страницы» программы Word .
Рассмотрим для примера таблицу с перечнем товаров хранящихся на складах. В данной таблице существует 4 столбца: номер подпункта, наименование товара, артикулярный номер товара на складе и место хранения (наименование склада).
№ п.п. | Наименование товара | Артикул | Место размещения |
1 | Яблоки | 112 | Склад №1 |
2 | Щетка | 18 445 | Склад №4 |
3 | Шаурма | 65 631 | Склад №3 |
4 | Черничное варенье | 31 754 | Склад №5 |
5 | Черника | 30 544 | Склад №4 |
6 | Чаша | 77 730 | Склад №3 |
7 | Чайный набор | 40 223 | Склад №2 |
8 | Чай | 58 372 | Склад №2 |
9 | Филе бобра | 28 124 | Склад №2 |
10 | Тунец | 52 322 | Склад №2 |
11 | Томаты | 55 952 | Склад №5 |
12 | Тара Пластиковая | 8 766 | Склад №1 |
13 | Сыр | 63 211 | Склад №1 |
14 | Сывородка | 64 421 | Склад №2 |
15 | Суши | 46 273 | Склад №2 |
16 | Сливки | 60 792 | Склад №4 |
17 | Слива | 11 112 | Склад №5 |
18 | свежий карп | 25 705 | Склад №5 |
19 | Сахар | 41 433 | Склад №3 |
20 | Рыбий жир | 26 914 | Склад №1 |
21 | Рыба мороженная | 24 495 | Склад №4 |
22 | Поводок для собаки | 20 865 | Склад №1 |
23 | Поводок для кошки | 19 655 | Склад №5 |
24 | Пакет пластиковый | 13 606 | Склад №5 |
25 | Пакет ПВХ | 14 815 | Склад №1 |
26 | Оладьи замороженные | 35 384 | Склад №3 |
27 | Носки мужские | 74 101 | Склад №5 |
28 | Носки женские | 72 891 | Склад №4 |
29 | Ножницы | 11 186 | Склад №3 |
30 | Мякоть кокоса | 29 334 | Склад №3 |
31 | Монитор 19″ | 36 594 | Склад №4 |
32 | Молоко | 62 002 | Склад №5 |
33 | Мангал | 48 693 | Склад №4 |
34 | Малина весовая | 34 174 | Склад №2 |
35 | Лопата | 66 841 | Склад №4 |
36 | Лом | 68 051 | Склад №5 |
37 | Ложка чайная | 42 643 | Склад №4 |
38 | Лодка надувная | 47 483 | Склад №3 |
39 | Лавровый лист | 37 804 | Склад №5 |
40 | Куртка стеганная | 71 681 | Склад №3 |
41 | Красная краска | 11 123 | Склад №2 |
42 | Кофе | 59 582 | Склад №3 |
43 | Колготки женские | 17 235 | Склад №3 |
44 | Клавиатура | 12 396 | Склад №4 |
45 | Карп филе | 51 112 | Склад №1 |
46 | Кабачки | 57 162 | Склад №1 |
47 | Имбирь | 43 853 | Склад №5 |
48 | Икра черная | 23 285 | Склад №3 |
49 | Икра красная | 22 075 | Склад №2 |
50 | Изюм | 45 063 | Склад №1 |
51 | Земляника | 32 964 | Склад №1 |
52 | Зелень (укроп) | 2 112 | Склад №3 |
53 | Груша | 1 222 | Склад №4 |
54 | Грибы | 53 532 | Склад №3 |
55 | Горошек | 54 742 | Склад №4 |
56 | Гиря | 69 261 | Склад №1 |
57 | Вилки стальные | 9 976 | Склад №2 |
58 | Ветошь | 49 903 | Склад №5 |
59 | Весы | 16 025 | Склад №2 |
60 | Ведро 8л | 75 310 | Склад №1 |
61 | Ведро 10 л | 76 520 | Склад №2 |
62 | Валенки | 70 471 | Склад №2 |
63 | Бумага 400мг/м | 39 013 | Склад №1 |
Несмотря на то, что таблица имеет всего 4 столбца перечень товаров довольно обширный и при отправке на печать занимает не один печатный лист. При проведении ревизии на складе носить с собой кипу бумаги неудобно.
Чтобы сэкономить немного бумаги, тонера и электроэнергии затраченной на печать сама собой возникает идея распечатать таблицу в две колонки на каждом листе, но реализовать данную идею не так уж просто.
Если в программе Word есть функция во вкладке «Разметка страницы» называемая «Колонки», которая позволяет делить текст на несколько колонок, то в Excel такой опции найти не удается.
Поэтому, чтобы разделить данные из таблицы на две колонки, необходимо записать макрос, который будет выполнять указанные действия.
Макрос выглядит следующим образом:
Sub DveKolonki()
Dim sheetActive As Worksheet, sheetNoviy As Worksheet ‘добавляем переменные, как листы
Dim Vsego As Long, Perviy As Long ‘добавляем переменные для определения границ таблицы
Set sheetActive = ActiveSheet ‘присваиваем переменной активный лист
Vsego = sheetActive.Cells.Find(What:=»?», LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
, SearchFormat:=False).Row — 1 ‘определяем диапазон
Perviy = Application.WorksheetFunction.RoundUp(Vsego / 2, 0) ‘делим диапазон
Set sheetNoviy = Sheets.Add(, Sheets(Sheets.Count)) ‘определяем новый лист
sheetNoviy.Range(«A1:E1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«F1:J1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«A2»).Resize(Perviy, 5).Value = sheetActive.Range(«A2»).Resize(Perviy, 5).Value
sheetNoviy.Range(«F2»).Resize(Vsego — Perviy, 5).Value = _
sheetActive.Range(«A» & Perviy + 2).Resize(Vsego — Perviy, 5).Value ‘делим таблицу
End Sub
Необходимо в панели разработчика открыть просмотр кода и добавить код макроса в книгу Excel.
Запускать макрос можно из перечня макросов (книги макросов) или присвоить его активному элементу, например, кнопке или чекбоксу.
Подробнее о присвоение макроса кнопке далее по ссылке.
Приведенный в статье макрос является альтернативой опции «колонки» используемой в настройках «разметки страницы» программы Word .
Рассмотрим для примера таблицу с перечнем товаров хранящихся на складах. В данной таблице существует 4 столбца: номер подпункта, наименование товара, артикулярный номер товара на складе и место хранения (наименование склада).
Несмотря на то, что таблица имеет всего 4 столбца перечень товаров довольно обширный и при отправке на печать занимает не один печатный лист. При проведении ревизии на складе носить с собой кипу бумаги неудобно.
Чтобы сэкономить немного бумаги, тонера и электроэнергии затраченной на печать сама собой возникает идея распечатать таблицу в две колонки на каждом листе, но реализовать данную идею не так уж просто.
Если в программе Word есть функция во вкладке «Разметка страницы» называемая «Колонки», которая позволяет делить текст на несколько колонок, то в Excel такой опции найти не удается.
Поэтому, чтобы разделить данные из таблицы на две колонки, необходимо записать макрос, который будет выполнять указанные действия.
Макрос выглядит следующим образом:
Sub DveKolonki()
Dim sheetActive As Worksheet, sheetNoviy As Worksheet ‘добавляем переменные, как листы
Dim Vsego As Long, Perviy As Long ‘добавляем переменные для определения границ таблицы
Set sheetActive = ActiveSheet ‘присваиваем переменной активный лист
Vsego = sheetActive.Cells.Find(What:=»?», LookIn:=xlValues, LookAt:= _
, SearchFormat:=False).Row — 1 ‘определяем диапазон
Perviy = Application.WorksheetFunction.RoundUp(Vsego / 2, 0) ‘делим диапазон
Set sheetNoviy = Sheets.Add(, Sheets(Sheets.Count)) ‘определяем новый лист
sheetNoviy.Range(«A1:E1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«F1:J1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«A2»).Resize(Perviy, 5).Value = sheetActive.Range(«A2»).Resize(Perviy, 5).Value
sheetNoviy.Range(«F2»).Resize(Vsego — Perviy, 5).Value = _
sheetActive.Range(«A» & Perviy + 2).Resize(Vsego — Perviy, 5).Value ‘делим таблицу
End Sub
Необходимо в панели разработчика открыть просмотр кода и добавить код макроса в книгу Excel.
Запускать макрос можно из перечня макросов (книги макросов) или присвоить его активному элементу, например, кнопке или чекбоксу.
Подробнее о присвоение макроса кнопке далее по ссылке.
Похожее:
Содержание
- 1 Макрос выглядит следующим образом:
- 2 Процедура объединения
- 2.1 Способ 1: объединение с помощью контекстного меню
- 2.2 Способ 2: объединение с помощью кнопки на ленте
- 2.3 Способ 3: объединение с помощью функции
- 2.4 Помогла ли вам эта статья?
Приведенный в статье макрос является альтернативой опции «колонки» используемой в настройках «разметки страницы» программы Word .
Рассмотрим для примера таблицу с перечнем товаров хранящихся на складах. В данной таблице существует 4 столбца: номер подпункта, наименование товара, артикулярный номер товара на складе и место хранения (наименование склада).
Просмотр таблицы
№ п.п. | Наименование товара | Артикул | Место размещения |
1 | Яблоки | 112 | Склад №1 |
2 | Щетка | 18 445 | Склад №4 |
3 | Шаурма | 65 631 | Склад №3 |
4 | Черничное варенье | 31 754 | Склад №5 |
5 | Черника | 30 544 | Склад №4 |
6 | Чаша | 77 730 | Склад №3 |
7 | Чайный набор | 40 223 | Склад №2 |
8 | Чай | 58 372 | Склад №2 |
9 | Филе бобра | 28 124 | Склад №2 |
10 | Тунец | 52 322 | Склад №2 |
11 | Томаты | 55 952 | Склад №5 |
12 | Тара Пластиковая | 8 766 | Склад №1 |
13 | Сыр | 63 211 | Склад №1 |
14 | Сывородка | 64 421 | Склад №2 |
15 | Суши | 46 273 | Склад №2 |
16 | Сливки | 60 792 | Склад №4 |
17 | Слива | 11 112 | Склад №5 |
18 | свежий карп | 25 705 | Склад №5 |
19 | Сахар | 41 433 | Склад №3 |
20 | Рыбий жир | 26 914 | Склад №1 |
21 | Рыба мороженная | 24 495 | Склад №4 |
22 | Поводок для собаки | 20 865 | Склад №1 |
23 | Поводок для кошки | 19 655 | Склад №5 |
24 | Пакет пластиковый | 13 606 | Склад №5 |
25 | Пакет ПВХ | 14 815 | Склад №1 |
26 | Оладьи замороженные | 35 384 | Склад №3 |
27 | Носки мужские | 74 101 | Склад №5 |
28 | Носки женские | 72 891 | Склад №4 |
29 | Ножницы | 11 186 | Склад №3 |
30 | Мякоть кокоса | 29 334 | Склад №3 |
31 | Монитор 19″ | 36 594 | Склад №4 |
32 | Молоко | 62 002 | Склад №5 |
33 | Мангал | 48 693 | Склад №4 |
34 | Малина весовая | 34 174 | Склад №2 |
35 | Лопата | 66 841 | Склад №4 |
36 | Лом | 68 051 | Склад №5 |
37 | Ложка чайная | 42 643 | Склад №4 |
38 | Лодка надувная | 47 483 | Склад №3 |
39 | Лавровый лист | 37 804 | Склад №5 |
40 | Куртка стеганная | 71 681 | Склад №3 |
41 | Красная краска | 11 123 | Склад №2 |
42 | Кофе | 59 582 | Склад №3 |
43 | Колготки женские | 17 235 | Склад №3 |
44 | Клавиатура | 12 396 | Склад №4 |
45 | Карп филе | 51 112 | Склад №1 |
46 | Кабачки | 57 162 | Склад №1 |
47 | Имбирь | 43 853 | Склад №5 |
48 | Икра черная | 23 285 | Склад №3 |
49 | Икра красная | 22 075 | Склад №2 |
50 | Изюм | 45 063 | Склад №1 |
51 | Земляника | 32 964 | Склад №1 |
52 | Зелень (укроп) | 2 112 | Склад №3 |
53 | Груша | 1 222 | Склад №4 |
54 | Грибы | 53 532 | Склад №3 |
55 | Горошек | 54 742 | Склад №4 |
56 | Гиря | 69 261 | Склад №1 |
57 | Вилки стальные | 9 976 | Склад №2 |
58 | Ветошь | 49 903 | Склад №5 |
59 | Весы | 16 025 | Склад №2 |
60 | Ведро 8л | 75 310 | Склад №1 |
61 | Ведро 10 л | 76 520 | Склад №2 |
62 | Валенки | 70 471 | Склад №2 |
63 | Бумага 400мг/м | 39 013 | Склад №1 |
Несмотря на то, что таблица имеет всего 4 столбца перечень товаров довольно обширный и при отправке на печать занимает не один печатный лист. При проведении ревизии на складе носить с собой кипу бумаги неудобно.
Чтобы сэкономить немного бумаги, тонера и электроэнергии затраченной на печать сама собой возникает идея таблицу в две колонки на каждом листе, но реализовать данную идею не так уж просто.
Если в программе Word есть функция во вкладке «Разметка страницы» называемая «Колонки», которая позволяет делить текст на несколько колонок, то в Excel такой опции найти не удается.
Поэтому, чтобы разделить данные из таблицы на две колонки, необходимо записать макрос, который будет выполнять указанные действия.
Макрос выглядит следующим образом:
Sub DveKolonki()
Dim sheetActive As Worksheet, sheetNoviy As Worksheet ‘добавляем переменные, как листы
Dim Vsego As Long, Perviy As Long ‘добавляем переменные для определения границ таблицы
Set sheetActive = ActiveSheet ‘присваиваем переменной активный лист
Vsego = sheetActive.Cells.Find(What:=»?», LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
, SearchFormat:=False).Row — 1 ‘определяем диапазон
Perviy = Application.WorksheetFunction.RoundUp(Vsego / 2, 0) ‘делим диапазон
Set sheetNoviy = Sheets.Add(, Sheets(Sheets.Count)) ‘определяем новый лист
sheetNoviy.Range(«A1:E1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«F1:J1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«A2»).Resize(Perviy, 5).Value = sheetActive.Range(«A2»).Resize(Perviy, 5).Value
sheetNoviy.Range(«F2»).Resize(Vsego — Perviy, 5).Value = _
sheetActive.Range(«A» & Perviy + 2).Resize(Vsego — Perviy, 5).Value ‘делим таблицу
End Sub
Необходимо в панели разработчика открыть просмотр кода и добавить код макроса в книгу Excel.
Запускать макрос можно из перечня макросов (книги макросов) или присвоить его активному элементу, например, кнопке или чекбоксу.
Подробнее о присвоение макроса кнопке далее по ссылке.
В разделе Программное обеспечение на вопрос Как разделить в экселе строку на две колонки? заданный автором Дмитрий Барташевич лучший ответ это моё предложение копируй эту строку в Ворд, там при помощи «рисовать таблицу» дели столбец на две колонки, потом копируй обратно.
Геморно, но это хоть какой то выход. Ну или ручками переноси 🙂 . Удачи
Ответ от
22 ответа
Привет! Вот подборка тем с ответами на Ваш вопрос: Как разделить в экселе строку на две колонки?
Ответ от Demoniqus
Сервис — Текст по столбцам — там выбираешь либо фиксированной ширины, либо с разделителем. Другой способ — писать скрипт.
Ответ от Павел Гордеев
Разделить колонку на две, естессно просто, но чтоб при этом текст также разделился на две части, это совсем не просто. Может быть макросы бы тут и справились, но поверь, лучше вручную, чем искать способ решения такой задачи.
При работе в программе Excel иногда наступает необходимость объединения двух и более столбцов. Некоторые пользователи не знают, как это сделать. Другие знакомы только с самыми простыми вариантами. Мы же обсудим все возможные способы объединения этих элементов, ведь в каждом отдельном случае рационально использовать различные варианты.
Процедура объединения
Все способы объединение столбцов можно условно разделить на две большие группы: использование форматирования и применение функций. Процедура форматирования более простая, но некоторые задачи по слиянию колонок можно решить, только задействовав специальную функцию. Рассмотрим все варианты подробнее и определим, в каких конкретных случаях лучше применять определенный способ.
Способ 1: объединение с помощью контекстного меню
Самый распространенный способ объединения столбцов – это использование инструментов контекстного меню.
- Выделяем первый сверху ряд ячеек колонок, которые мы хотим объединить. Кликаем по выделенным элементам правой кнопкой мыши. Открывается контекстное меню. Выбираем в нем пункт «Формат ячеек…».
- Открывается окно форматирования ячеек. Переходим во вкладку «Выравнивание». В группе настроек «Отображение» около параметра «Объединение ячеек» ставим галочку. После этого жмем на кнопку «OK».
- Как видим, мы объединили только верхние ячейки таблицы. Нам же нужно объединить все ячейки двух столбцов построчно. Выделяем объединенную ячейку. Находясь во вкладке «Главная» на ленте кликаем по кнопке «Формат по образцу». Данная кнопка имеет форму щетки и расположена в блоке инструментов «Буфер обмена». После этого, просто выделяем всю оставшуюся область, в пределах которой нужно объединить столбцы.
- После проведения форматирования по образцу столбцы таблицы будут объединены в один.
Внимание! Если в объединяемых ячейках будут находиться данные, то сохранится только та информация, которая находится в самом первом слева столбце выделенного интервала. Все остальные данные будут уничтожены. Поэтому за редким исключением данный способ рекомендуется использовать для работы с пустыми ячейками или с колонками с малоценными данными.
Способ 2: объединение с помощью кнопки на ленте
Также объединение столбцов можно провести при помощи кнопки на ленте. Этим способом удобно пользоваться, если вы хотите объединить не просто колонки отдельной таблицы, а листа в целом.
- Для того, чтобы объединить столбцы на листе полностью, их нужно сперва выделить. Становимся на горизонтальную панель координат Excel, в которой записаны наименования колонок буквами латинского алфавита. Зажимаем левую копку мыши и выделяем те колонки, которые хотим объединить.
- Переходим во вкладку «Главная», если в данный момент находимся в другой вкладке. Жмем на пиктограмму в виде треугольника, остриём направленного вниз, справа от кнопки «Объединить и поместить в центре», которая расположена на ленте в блоке инструментов «Выравнивание». Открывается меню. Выбираем в нем пункт «Объединить по строкам».
После этих действий, выделенные колонки всего листа буду объединены. При использовании данного способа, как и в предыдущем варианте, все данные, кроме тех, которые до объединения находились в крайнем левом столбце, будут утеряны.
Способ 3: объединение с помощью функции
В то же время, существует возможность объединения столбцов без потерь данных. Реализация этой процедуры значительно сложнее первого способа. Она осуществляется с помощью функции СЦЕПИТЬ.
- Выделяем любую ячейку в пустом столбце на листе Excel. Для того, чтобы вызвать Мастер функций, кликаем по кнопке «Вставить функцию», расположенной около строки формул.
- Открывается окно с перечнем различных функций. Нам нужно среди них найти наименование «СЦЕПИТЬ». После того как находим, выделяем этот пункт и нажимаем на кнопку «OK».
- После этого открывается окно аргументов функции СЦЕПИТЬ. Её аргументами являются адреса ячеек, содержимое которых нужно объединить. В поля «Текст1», «Текст2» и т.д. нам нужно внести адреса ячеек самого верхнего ряда объединяемых столбцов. Сделать это можно вписав адреса вручную. Но, гораздо удобнее поставить в поле соответствующего аргумента курсор, а затем выделить ячейку, подлежащую объединению. Точно таким же образом поступаем и с другими ячейками первой строки объединяемых колонок. После того, как координаты появились в полях «Тест1», «Текст2» и т.д., жмем на кнопку «OK».
- В ячейке, в которую выводится результат обработки значений функцией, отобразились объединенные данные первой строки склеиваемых столбцов. Но, как видим, слова в ячейке с результатом слиплись, между ними нет пробела.
Для того, чтобы разъединить их, в строке формул после точки с запятой между координатами ячеек вставляем следующие символы:
" ";
При этом между двумя знаками кавычек в этих добавочных символах ставим пробел. Если говорить о конкретном примере, то в нашем случае запись:
=СЦЕПИТЬ(B3;C3)
была изменена на следующую:
=СЦЕПИТЬ(B3;" ";C3)
Как видим, между словами появляется пробел, и они больше не являются слипшимися. При желании вместе с пробелом можно поставить запятую или любой другой разделитель.
- Но, пока мы видим результат только для одной строки. Чтобы получить объединенное значение столбцов и в других ячейках, нам нужно скопировать функцию СЦЕПИТЬ на нижний диапазон. Для этого устанавливаем курсор в нижний правый угол ячейки, содержащей формулу. Появляется маркер заполнения в виде крестика. Зажимаем левую кнопку мыши и протягиваем его вниз до конца таблицы.
- Как видим, формула скопирована на диапазон ниже, а соответствующие результаты отобразились в ячейках. Но мы просто вынесли значения в отдельный столбец. Теперь же нужно объединить первоначальные ячейки и вернуть данные в изначальное место расположения. Если просто объединить или удалить исходные столбцы, то формула СЦЕПИТЬ будет нарушена, и мы все равно утратим данные. Поэтому поступим немного по-другому. Выделяем колонку с объединенным результатом. Во вкладке «Главная» жмем на кнопку «Копировать», размещенную на ленте в блоке инструментов «Буфер обмена». Как альтернативное действие, можно после выделения столбца набрать на клавиатуре сочетание клавиш Ctrl+C.
- Устанавливаем курсор на любую пустую область листа. Кликаем правой кнопкой мыши. В появившемся контекстном меню в блоке «Параметры вставки» выбираем пункт «Значения».
- Мы сохранили значения объединенного столбца, и они уже не зависят от формулы. Ещё раз копируем данные, но уже с нового места их размещения.
- Выделяем первый столбец изначального диапазона, который нужно будет объединить с другими колонками. Жмем на кнопку «Вставить» размещенную на вкладке «Главная» в группе инструментов «Буфер обмена». Можно вместо последнего действия нажать на клавиатуре сочетание клавиш Ctrl+V.
- Выделяем первоначальные столбцы, которые следует объединить. Во вкладке «Главная» в блоке инструментов «Выравнивание» открываем уже знакомое нам по предыдущему способу меню и выбираем в нем пункт «Объединить по строкам».
- После этого, возможно, несколько раз появится окошко с информационным сообщением о потере данных. Каждый раз жмите на кнопку «OK».
- Как видим, наконец данные объединены в одном столбце в том месте, в котором это изначально требовалось. Теперь нужно очистить лист от транзитных данных. Таких областей у нас две: колонка с формулами и столбец со скопированными значениями. Выделяем поочередно первый и второй диапазон. Кликаем правой кнопкой мыши по выделенной области. В контекстном меню выбираем пункт «Очистить содержимое».
- После того, как мы избавились от транзитных данных, форматируем объединенный столбец на свое усмотрение, так как вследствие наших манипуляций его формат обнулился. Тут уже все зависит от целевого назначения конкретной таблицы и остается на усмотрение пользователя.
На этом процедуру объединения столбцов без потерь данных можно считать оконченной. Конечно, этот способ намного сложнее предыдущих вариантов, но в некоторых случаях он является незаменимым.
Урок: Мастер функций в Excel
Как видим, существует несколько способов объединения столбцов в Экселе. Можно использовать любой из них, но при определенных обстоятельствах следует отдавать предпочтения конкретному варианту.
Так, большинство пользователей предпочитают использовать объединение через контекстное меню, как наиболее интуитивно понятное. Если же нужно произвести слияние столбцов не только в таблице, но и по всему листу, то тут на помощь придет форматирование через пункт меню на ленте «Объединить по строкам». Если же нужно произвести объединение без потерь данных, то с этой задачей можно справиться, лишь использовав функцию СЦЕПИТЬ. Хотя, если задачи сохранения данных не ставится, а тем более, если объединяемые ячейки пустые, то использовать данный вариант не рекомендуется. Это связано с тем, что он довольно сложный и его реализация занимает относительно много времени.
Мы рады, что смогли помочь Вам в решении проблемы.
Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Да Нет
Сегодня давайте рассмотрим как разбить текст по столбцам. Это можно сделать в несколько кликов пользуясь стандартными возможностями разбиения текста в Excel либо можно «вырезать»»разделять» текст в различные столбцы при помощи формул (это мы рассмотрим в последующих статьях).
Как делить текст с помощью формул смотрите в специальной статье
Необходимость разбить текст по столбцам может потребоваться нам, например, при разбиении ФИО на Фамилию Имя и Отчество (в разные ячейки) или в других ситуациях (пример с ФИО самый распространенный случай).
Наши данные для разбиения:
Данные для разбиения
Выделим данные для разбиения по столбцам — можно выделить весь столбец целиком.
Перейдем по ленте на вкладку «Данные» и выберем иконку «Текст по столбцам» — откроется диалоговое окно:
Мастер разбиения
Так как наши ФИО записаны через пробел, то укажем разделителем пробел:
Указываем разделитель
Кликаем «Готово» (в нашем примере можно не переходить далее по всем шагам мастера разбиения). Получили текст разбитый по столбцам:
Результат разбиения текста
Обратную ситуацию, когда разбитый текст по столбцам необходимо склеить и записать в одну ячейку мы уже рассматривали в этой Статье.
Очень надеемся, что наша статья помогла Вам в решении Вашей проблемы. Будем благодарны, если Вы нажмете +1 и/или Мне нравится внизу данной статьи или поделитесь с друзьями с помощью кнопок расположенных ниже.
Спасибо за внимание.
Содержание
- Как в офисе.
- Макрос выглядит следующим образом:
- Похожее:
- Как распечатать длинную колонку на одной странице в Excel?
- Распечатать длинный столбец на одной странице с формула
- Печатать длинный столбец на одной странице с кодом VBA
- Распечатать длинный столбец на одной странице с помощью Kutools for Excel
- Как поделить таблицу Excel на две колонки для печати на одном листе.
- Макрос выглядит следующим образом:
- Как поделить таблицу Excel на две колонки для печати на одном листе.: 2 комментария
- Добавить комментарий Отменить ответ
Как в офисе.
Приведенный в статье макрос является альтернативой опции «колонки» используемой в настройках «разметки страницы» программы Word .
Рассмотрим для примера таблицу с перечнем товаров хранящихся на складах. В данной таблице существует 4 столбца: номер подпункта, наименование товара, артикулярный номер товара на складе и место хранения (наименование склада).
Несмотря на то, что таблица имеет всего 4 столбца перечень товаров довольно обширный и при отправке на печать занимает не один печатный лист. При проведении ревизии на складе носить с собой кипу бумаги неудобно.
Чтобы сэкономить немного бумаги, тонера и электроэнергии затраченной на печать сама собой возникает идея распечатать таблицу в две колонки на каждом листе, но реализовать данную идею не так уж просто.
Если в программе Word есть функция во вкладке «Разметка страницы» называемая «Колонки», которая позволяет делить текст на несколько колонок, то в Excel такой опции найти не удается.
Поэтому, чтобы разделить данные из таблицы на две колонки, необходимо записать макрос, который будет выполнять указанные действия.
Макрос выглядит следующим образом:
Sub DveKolonki()
Dim sheetActive As Worksheet, sheetNoviy As Worksheet ‘добавляем переменные, как листы
Dim Vsego As Long, Perviy As Long ‘добавляем переменные для определения границ таблицы
Set sheetActive = ActiveSheet ‘присваиваем переменной активный лист
Vsego = sheetActive.Cells.Find(What:=»?», LookIn:=xlValues, LookAt:= _
, SearchFormat:=False).Row — 1 ‘определяем диапазон
Perviy = Application.WorksheetFunction.RoundUp(Vsego / 2, 0) ‘делим диапазон
Set sheetNoviy = Sheets.Add(, Sheets(Sheets.Count)) ‘определяем новый лист
sheetNoviy.Range(«A1:E1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«F1:J1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«A2»).Resize(Perviy, 5).Value = sheetActive.Range(«A2»).Resize(Perviy, 5).Value
sheetNoviy.Range(«F2»).Resize(Vsego — Perviy, 5).Value = _
sheetActive.Range(«A» & Perviy + 2).Resize(Vsego — Perviy, 5).Value ‘делим таблицу
End Sub
Необходимо в панели разработчика открыть просмотр кода и добавить код макроса в книгу Excel.
Запускать макрос можно из перечня макросов (книги макросов) или присвоить его активному элементу, например, кнопке или чекбоксу.
Подробнее о присвоение макроса кнопке далее по ссылке.
Похожее:
Источник
Как распечатать длинную колонку на одной странице в Excel?
Предположим, у вас есть длинный список данных в столбце, может быть, 200 строк, и теперь вам нужно их распечатать, но когда вы печатаете, он использует около 5 страниц бумаги только с одним столбцом слева и много белого пространства справа. Словом, столбец можно, но в Excel этой функции нет. Как распечатать длинный список данных на одной странице, чтобы сэкономить бумагу?
Печатать длинный столбец на одной странице с формулой
Распечатать длинный столбец на одной странице с кодом VBA
Распечатать длинный столбец на одной странице с помощью Kutools for Excel
- Повторно использовать что угодно: добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
- Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
- Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
- Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Распечатать длинный столбец на одной странице с формула
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и сократите тысячи щелчков мышью каждый день!
Здесь я могу представить вам длинную формулу решения этой проблемы, пожалуйста, сделайте следующее:
1 . На новом листе активной книги введите формулу = IF (OFFSET (Sheet1! $ A $ 1, (COLUMN () – 1) * 45 + ROW () – 1,0) = “”, “”, СМЕЩЕНИЕ (Sheet1! $ A $ 1, (COLUMN () – 1) * 45 + ROW () – 1,0)) в ячейку A1.
Примечания : Sheet1 – это рабочий лист с длинным списком, который вы хотите разместить в столбце..
45 – это номер строки, в которой вы хотите перечислить данные в столбце.
Все они являются переменными, и вы можете изменить их по своему усмотрению.
2 . Затем выберите ячейку A1 и перетащите маркер заполнения вниз до строки 45, а затем продолжайте перетаскивать маркер заполнения вправо, пока данные не будут отображены. И длинный столбец был разделен на несколько столбцов, чтобы поместиться на одной странице нового рабочего листа. См. Снимок экрана:
Печатать длинный столбец на одной странице с кодом VBA
Следующий код VBA также может помочь вам разделить длинный список данных на несколько столбцов, чтобы вы могли распечатать данные и сэкономить бумагу.
1 . Удерживая нажатыми клавиши ALT + F11 , откроется окно Microsoft Visual Basic для приложений .
2 . Щелкните Insert > Module и вставьте следующий код в окно модуля.
3 . Затем нажмите клавишу F5 , чтобы запустить этот код, и выберите данные списка, которые вы хотите разделить, во всплывающем диалоговом окне, см. Снимок экрана:
4 . Нажмите OK и введите количество столбцов, которые вы хотите разделить. См. Снимок экрана:
5 . И нажмите OK , длинный столбец разделен на пять столбцов на новом листе. См. Скриншоты:
Распечатать длинный столбец на одной странице с помощью Kutools for Excel
И длинная формула, и код VBA могут быть трудными для вас, здесь я могу Представляем вам простой и удобный способ решения этой проблемы. Функция Kutools for Excel Печать нескольких столбцов может помочь вам быстро разделить длинный столбец на несколько столбцов, чтобы их можно было распечатать разумно.
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас .
После установки Kutools for Excel вы можете выполнить следующие действия:
1 . Нажмите Enterprise > Печать нескольких столбцов , см. Снимок экрана:
. В диалоговом окне Печать нескольких столбцов :
3 . Затем нажмите OK , данные длинного списка были разделены на пять столбцов на странице. См. снимки экрана:
Примечания:
1. Заголовок будет добавляется перед каждым столбцом.
2. Если вы установите флажок Создать ссылку с активным листом , новый рабочий лист Данные могут быть связаны с исходными данными.
Если вы хотите узнать больше об этой функции, нажмите Печать нескольких столбцов .
Источник
Как поделить таблицу Excel на две колонки для печати на одном листе.
Приведенный в статье макрос является альтернативой опции «колонки» используемой в настройках «разметки страницы» программы Word .
Рассмотрим для примера таблицу с перечнем товаров хранящихся на складах. В данной таблице существует 4 столбца: номер подпункта, наименование товара, артикулярный номер товара на складе и место хранения (наименование склада).
№ п.п. | Наименование товара | Артикул | Место размещения |
1 | Яблоки | 112 | Склад №1 |
2 | Щетка | 18 445 | Склад №4 |
3 | Шаурма | 65 631 | Склад №3 |
4 | Черничное варенье | 31 754 | Склад №5 |
5 | Черника | 30 544 | Склад №4 |
6 | Чаша | 77 730 | Склад №3 |
7 | Чайный набор | 40 223 | Склад №2 |
8 | Чай | 58 372 | Склад №2 |
9 | Филе бобра | 28 124 | Склад №2 |
10 | Тунец | 52 322 | Склад №2 |
11 | Томаты | 55 952 | Склад №5 |
12 | Тара Пластиковая | 8 766 | Склад №1 |
13 | Сыр | 63 211 | Склад №1 |
14 | Сывородка | 64 421 | Склад №2 |
15 | Суши | 46 273 | Склад №2 |
16 | Сливки | 60 792 | Склад №4 |
17 | Слива | 11 112 | Склад №5 |
18 | свежий карп | 25 705 | Склад №5 |
19 | Сахар | 41 433 | Склад №3 |
20 | Рыбий жир | 26 914 | Склад №1 |
21 | Рыба мороженная | 24 495 | Склад №4 |
22 | Поводок для собаки | 20 865 | Склад №1 |
23 | Поводок для кошки | 19 655 | Склад №5 |
24 | Пакет пластиковый | 13 606 | Склад №5 |
25 | Пакет ПВХ | 14 815 | Склад №1 |
26 | Оладьи замороженные | 35 384 | Склад №3 |
27 | Носки мужские | 74 101 | Склад №5 |
28 | Носки женские | 72 891 | Склад №4 |
29 | Ножницы | 11 186 | Склад №3 |
30 | Мякоть кокоса | 29 334 | Склад №3 |
31 | Монитор 19″ | 36 594 | Склад №4 |
32 | Молоко | 62 002 | Склад №5 |
33 | Мангал | 48 693 | Склад №4 |
34 | Малина весовая | 34 174 | Склад №2 |
35 | Лопата | 66 841 | Склад №4 |
36 | Лом | 68 051 | Склад №5 |
37 | Ложка чайная | 42 643 | Склад №4 |
38 | Лодка надувная | 47 483 | Склад №3 |
39 | Лавровый лист | 37 804 | Склад №5 |
40 | Куртка стеганная | 71 681 | Склад №3 |
41 | Красная краска | 11 123 | Склад №2 |
42 | Кофе | 59 582 | Склад №3 |
43 | Колготки женские | 17 235 | Склад №3 |
44 | Клавиатура | 12 396 | Склад №4 |
45 | Карп филе | 51 112 | Склад №1 |
46 | Кабачки | 57 162 | Склад №1 |
47 | Имбирь | 43 853 | Склад №5 |
48 | Икра черная | 23 285 | Склад №3 |
49 | Икра красная | 22 075 | Склад №2 |
50 | Изюм | 45 063 | Склад №1 |
51 | Земляника | 32 964 | Склад №1 |
52 | Зелень (укроп) | 2 112 | Склад №3 |
53 | Груша | 1 222 | Склад №4 |
54 | Грибы | 53 532 | Склад №3 |
55 | Горошек | 54 742 | Склад №4 |
56 | Гиря | 69 261 | Склад №1 |
57 | Вилки стальные | 9 976 | Склад №2 |
58 | Ветошь | 49 903 | Склад №5 |
59 | Весы | 16 025 | Склад №2 |
60 | Ведро 8л | 75 310 | Склад №1 |
61 | Ведро 10 л | 76 520 | Склад №2 |
62 | Валенки | 70 471 | Склад №2 |
63 | Бумага 400мг/м | 39 013 | Склад №1 |
Несмотря на то, что таблица имеет всего 4 столбца перечень товаров довольно обширный и при отправке на печать занимает не один печатный лист. При проведении ревизии на складе носить с собой кипу бумаги неудобно.
Чтобы сэкономить немного бумаги, тонера и электроэнергии затраченной на печать сама собой возникает идея распечатать таблицу в две колонки на каждом листе, но реализовать данную идею не так уж просто.
Если в программе Word есть функция во вкладке «Разметка страницы» называемая «Колонки», которая позволяет делить текст на несколько колонок, то в Excel такой опции найти не удается.
Поэтому, чтобы разделить данные из таблицы на две колонки, необходимо записать макрос, который будет выполнять указанные действия.
Макрос выглядит следующим образом:
Sub DveKolonki()
Dim sheetActive As Worksheet, sheetNoviy As Worksheet ‘добавляем переменные, как листы
Dim Vsego As Long, Perviy As Long ‘добавляем переменные для определения границ таблицы
Set sheetActive = ActiveSheet ‘присваиваем переменной активный лист
Vsego = sheetActive.Cells.Find(What:=»?», LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
, SearchFormat:=False).Row — 1 ‘определяем диапазон
Perviy = Application.WorksheetFunction.RoundUp(Vsego / 2, 0) ‘делим диапазон
Set sheetNoviy = Sheets.Add(, Sheets(Sheets.Count)) ‘определяем новый лист
sheetNoviy.Range(«A1:E1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«F1:J1»).Value = sheetActive.Range(«A1:E1»).Value
sheetNoviy.Range(«A2»).Resize(Perviy, 5).Value = sheetActive.Range(«A2»).Resize(Perviy, 5).Value
sheetNoviy.Range(«F2»).Resize(Vsego — Perviy, 5).Value = _
sheetActive.Range(«A» & Perviy + 2).Resize(Vsego — Perviy, 5).Value ‘делим таблицу
End Sub
Необходимо в панели разработчика открыть просмотр кода и добавить код макроса в книгу Excel.
Запускать макрос можно из перечня макросов (книги макросов) или присвоить его активному элементу, например, кнопке или чекбоксу.
Подробнее о присвоение макроса кнопке далее по ссылке.
Как поделить таблицу Excel на две колонки для печати на одном листе.: 2 комментария
отчет на 80 листов
на первом листе будет столбец с первого листа (начало) и столбец с сорокового листа …. кому это может понадобиться ….
правильно это если по порядку на первом листе не 40 строк в один столбец (например) а первые 80 строк в два столбца, на втором листе продолжение.
это уже можно назвать «как колонки в ворде»
Добрый день, Алексей. Вы правы для больших таблиц предложенный вариант распечатки подойдет не всем, поэтому на сайте не выложен готовый файл с макросом, а опубликован код VBA (макрос), который каждый пользователь сможет скорректировать — «подправить» для своих целей и своей конкретной таблицы.
Спасибо, что написали комментарий и указали на возможные трудности в работе с макросом.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
s7263808 Пользователь Сообщений: 72 |
С Новым годом! Есть список 5-10 тыс строк. В списке 5 столбцов. Прилагаю файл. В файле есть лист- ДАНО и лист как НАДО. |
Karataev Пользователь Сообщений: 2306 |
#2 02.01.2015 21:24:22 для этого макроса на листе не должно быть скрытых строк
|
||
Korss Пользователь Сообщений: 72 |
Karataev, Огромное спасибо! Прошу прощения. Но я не знаю куда вставить этот код макроса и как его запустить. |
Karataev Пользователь Сообщений: 2306 |
вам нужно один раз сделать работу или периодически надо делать эту работу? |
Korss Пользователь Сообщений: 72 |
|
Karataev Пользователь Сообщений: 2306 |
вставил макрос в файл и сделал кнопку для запуска макроса Прикрепленные файлы
Изменено: Karataev — 02.01.2015 21:54:17 |
Korss Пользователь Сообщений: 72 |
При запуске макроса всплывает окно |
Karataev Пользователь Сообщений: 2306 |
при открытии файла вверху появляется панель с кнопкой,на которой написано про макросы ? |
Korss Пользователь Сообщений: 72 |
Открыл книгу заново — работает. Огромное спасибо! |
Сергей Пользователь Сообщений: 11251 |
Korss, у меня при первом скачивании сработало нормально Лень двигатель прогресса, доказано!!! |
Leanna Пользователь Сообщений: 816 |
#11 02.01.2015 22:36:51 раз делала выкладываю
Прикрепленные файлы
Работать надо не 12 часов, а головой. |
||
Korss Пользователь Сообщений: 72 |
Leanna,Спасибо. Попробовал. Изначально список может быть до 20 000 строк по 5 столбцов. Мне ответил Karataev у него все как надо. Изменено: Korss — 03.01.2015 00:46:57 |
fater Пользователь Сообщений: 1 |
Здравствуйте может кто ни будь помочь необходимо поделить список на две колонки, но в данном макросе делится ровно пополам по всему тексту, а нужно чтоб каждая вторая страница поднималась к первой. Количество строк до 100000. Пример во вложение. Прикрепленные файлы
Изменено: fater — 09.04.2017 09:40:29 |
Stane Пользователь Сообщений: 1 |
Актуально ? |
Svetllllana Пользователь Сообщений: 4 |
#15 13.11.2018 13:53:58 Stane, очень пригодился ответ! Спасибо большое! |