Распечатать колонками в excel

 О том, как при помощи несложного макроса 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.Макро VBA 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.

      Запускать макрос можно из перечня макросов (книги макросов) или присвоить его активному элементу, например, кнопке или чекбоксу.

      Подробнее о присвоение макроса кнопке далее по ссылке.

      Похожее:

       

      s7263808

      Пользователь

      Сообщений: 72
      Регистрация: 18.11.2014

      С Новым годом!
      Данный вопрос обсуждался. Решение предлагалось при помощи надстройки PLEX.
      Пробовал — у меня ничего не получилось.

      Есть список 5-10 тыс строк. В списке 5 столбцов.
      Список нужно распечатать в две колонки.

      Прилагаю файл. В файле есть лист- ДАНО и лист как НАДО.
      Спасибо.

       

      Karataev

      Пользователь

      Сообщений: 2306
      Регистрация: 23.10.2014

      #2

      02.01.2015 21:24:22

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

      Код
      Sub Макрос()
          Dim shActive As Worksheet, shNew As Worksheet
          Dim total As Long, first As Long
          Set shActive = ActiveSheet
          total = shActive.Cells.Find(What:="?", LookIn:=xlValues, LookAt:= _
              xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
              , SearchFormat:=False).Row - 1
          first = Application.WorksheetFunction.RoundUp(total / 2, 0)
          Set shNew = Sheets.Add(, Sheets(Sheets.Count))
          shNew.Range("A1:E1").Value = shActive.Range("A1:E1").Value
          shNew.Range("F1:J1").Value = shActive.Range("A1:E1").Value
          shNew.Range("A2").Resize(first, 5).Value = shActive.Range("A2").Resize(first, 5).Value
          shNew.Range("F2").Resize(total - first, 5).Value = _
              shActive.Range("A" & first + 2).Resize(total - first, 5).Value
      End Sub
       

      Korss

      Пользователь

      Сообщений: 72
      Регистрация: 18.11.2014

      Karataev, Огромное спасибо!

      Прошу прощения. Но я не знаю куда вставить этот код макроса и как его запустить.

       

      Karataev

      Пользователь

      Сообщений: 2306
      Регистрация: 23.10.2014

      вам нужно один раз сделать работу или  периодически надо делать  эту работу?

       

      Korss

      Пользователь

      Сообщений: 72
      Регистрация: 18.11.2014

       

      Karataev

      Пользователь

      Сообщений: 2306
      Регистрация: 23.10.2014

      вставил макрос в файл и сделал кнопку для запуска  макроса

      Прикрепленные файлы

      • Макрос.xlsm (55.43 КБ)

      Изменено: Karataev02.01.2015 21:54:17

       

      Korss

      Пользователь

      Сообщений: 72
      Регистрация: 18.11.2014

      При запуске макроса всплывает окно

       

      Karataev

      Пользователь

      Сообщений: 2306
      Регистрация: 23.10.2014

      при открытии файла вверху появляется панель с кнопкой,на которой написано про макросы ?
      я внес изменения в файл,поэтому на всякий случай  скачайте файл еще раз

       

      Korss

      Пользователь

      Сообщений: 72
      Регистрация: 18.11.2014

      Открыл книгу заново — работает.

      Огромное спасибо!

       

      Сергей

      Пользователь

      Сообщений: 11251
      Регистрация: 01.01.1970

      Korss, у меня при первом скачивании сработало нормально

      Лень двигатель прогресса, доказано!!!

       

      Leanna

      Пользователь

      Сообщений: 816
      Регистрация: 15.01.2013

      #11

      02.01.2015 22:36:51

      раз делала выкладываю
      от выделения отталкивается.

      Код
      Sub Разбить_по_столбцам()
      Const newrr = 15 'новое кол-во строк
      Set output = Sheets("Дано").[G1] 'куда выводить
      
      rr = Selection.Rows.Count
      cc = Selection.Columns.Count
      Set cell = Selection.Cells(2, 1)
      
      ii = Application.WorksheetFunction.RoundUp((rr - 1) / (newrr - 1), 0)
      title0 = cell.Offset(-1, 0).Resize(1, cc)
      
      For i = 0 To ii - 1
      output.Offset(0, cc * i).Resize(1, cc) = title0
      output.Offset(1, cc * i).Resize(newrr - 1, cc).Value = _
          cell.Offset((newrr - 1) * i, 0).Resize(newrr - 1, cc).Value
      Next
      
      End Sub

      Прикрепленные файлы

      • Печать списка в две колонки.xlsm (59.33 КБ)

      Работать надо не 12 часов, а головой.

       

      Korss

      Пользователь

      Сообщений: 72
      Регистрация: 18.11.2014

      Leanna,Спасибо. Попробовал.
      С Вашего позволения уточню задачу.

      Изначально список может быть до 20 000 строк по 5 столбцов.
      Если будет 9000 строк две колонки будут занимать 4500 строк на листе.
      Если 4000 то 2000 на листе.

      Мне ответил  

      Karataev

      у него все как надо.
      Но Вам тоже спасибо.

      Изменено: Korss03.01.2015 00:46:57

       

      fater

      Пользователь

      Сообщений: 1
      Регистрация: 11.03.2017

      Здравствуйте может кто ни будь помочь необходимо поделить список на две колонки, но в данном макросе делится ровно пополам по всему тексту, а нужно чтоб каждая вторая страница поднималась к первой.
      Сейчас делается
      1 5
      2 6
      3 7
      4 8
      а нужно
      1 2
      3 4
      5 6
      7 8

      Количество строк до 100000. Пример во вложение.

      Прикрепленные файлы

      • п.xls (74.5 КБ)

      Изменено: fater09.04.2017 09:40:29

       

      Stane

      Пользователь

      Сообщений: 1
      Регистрация: 30.01.2018

      Актуально ?
      самому понадобилось… набросал программку

       

      Svetllllana

      Пользователь

      Сообщений: 4
      Регистрация: 21.12.2015

      #15

      13.11.2018 13:53:58

      Stane, очень пригодился ответ! Спасибо большое!

      Содержание

      1. Как в офисе.
      2. Макрос выглядит следующим образом:
      3. Похожее:
      4. Как поделить таблицу Excel на две колонки для печати на одном листе.
      5. Макрос выглядит следующим образом:
      6. Как поделить таблицу Excel на две колонки для печати на одном листе.: 2 комментария
      7. Добавить комментарий Отменить ответ

      Как в офисе.

      Приведенный в статье макрос является альтернативой опции «колонки» используемой в настройках «разметки страницы» программы 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 на две колонки для печати на одном листе.

      Приведенный в статье макрос является альтернативой опции «колонки» используемой в настройках «разметки страницы» программы 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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

      Источник

      Предположим, у вас есть длинный список данных в столбце, может быть, 200 строк, и теперь вам нужно их распечатать, но когда вы печатаете, он использует около 5 страниц бумаги, только с одним столбцом слева и большим пустым пространством на правая сторона. Словом, столбец можно, но в Excel этой функции нет. Как распечатать длинный список данных на одной странице, чтобы сэкономить бумагу?

      Распечатать длинный столбец на одной странице с формулой

      Распечатать длинный столбец на одной странице с кодом VBA

      Распечатать длинный столбец на одной странице с помощью Kutools for Excel


      стрелка синий правый пузырь Распечатать длинный столбец на одной странице с формулой

      Здесь я могу представить вам длинную формулу решения этой проблемы, пожалуйста, сделайте так:

      1. На новом листе активной книги введите формулу =IF(OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)=»»,»»,OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)) в ячейку A1.

      Заметки: Sheet1 — это рабочий лист с длинным списком, который вы хотите разместить в столбце.

      45 — номер строки, данные в которой вы хотите перечислить в столбце.

      Все они являются переменными, и вы можете изменить их по своему усмотрению.

      2. Затем выберите ячейку A1 и перетащите маркер заполнения вниз до строки 45, а затем продолжайте перетаскивать маркер заполнения вправо, пока данные не будут отображены. И длинный столбец был разделен на несколько столбцов, чтобы поместиться на одной странице нового рабочего листа. Смотрите скриншот:

      документ печати длинный столбец1


      стрелка синий правый пузырь Распечатать длинный столбец на одной странице с кодом VBA

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

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

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

      Sub SingleToMultiColumn()
          Dim rng As Range
          Dim iCols As Integer
          Dim lRows As Long
          Dim iCol As Integer
          Dim lRow As Long
          Dim lRowSource As Long
          Dim x As Long
          Dim wks As Worksheet
          Set rng = Application.InputBox _
            (prompt:="Select the range to convert", _
            Type:=8)
          iCols = InputBox("How many columns do you want?")
          lRowSource = rng.Rows.Count
          lRows = lRowSource / iCols
          If lRows * iCols <> lRowSource Then lRows = lRows + 1
          Set wks = Worksheets.Add
          lRow = 1
          x = 1
          For iCol = 1 To iCols
              Do While x <= lRows And lRow <= lRowSource
                  Cells(x, iCol) = rng.Cells(lRow, 1)
                  x = x + 1
                  lRow = lRow + 1
              Loop
              x = 1
          Next
      End Sub
      

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

      документ печати длинный столбец2

      4. Нажмите OKи введите количество столбцов, которые вы хотите разделить. Смотрите скриншот:

      документ печати длинный столбец3

      5, И нажмите OK, длинный столбец разделен на пять столбцов на новом листе. Смотрите скриншоты:


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

      Как длинная формула, так и код VBA могут быть трудными для вас, здесь я могу представить вам простой и удобный способ решения этой проблемы. Kutools for ExcelАвтора Печать нескольких столбцов Функция может помочь вам быстро разделить длинный столбец на несколько столбцов, чтобы их можно было распечатать разумно.

      Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас.

      Когда вы установили Kutools for Excel, вы можете сделать следующие шаги:

      1. Нажмите Предприятие > Печать нескольких столбцов, см. снимок экрана:

      документ печати длинный столбец6

      2. В Печать нескольких столбцов диалоговое окно:

      документ печати длинный столбец7

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

      Ноты:

      1. Заголовок будет добавлен перед каждым столбцом.

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

      Если вы хотите узнать больше об этой функции, нажмите Печать нескольких столбцов.


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

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

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

      вкладка kte 201905


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

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

      офисный дно

      Понравилась статья? Поделить с друзьями:
    • Распечатать все фильтры в excel
    • Распечатать все страницы на одном листе excel
    • Распечатать все документы word на компьютере
    • Распечатать в книжном формате word как текст
    • Распечатать в word это