Note: The other languages of the website are Google-translated. Back to English

Как распечатать длинную колонку на одной странице в Excel?

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

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

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

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

Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу ...
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
  • Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
  • Разделить инструменты: Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
  • Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий ...
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

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


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

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, длинный столбец разделен на пять столбцов на новом листе. Смотрите скриншоты:

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

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

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

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

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

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

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

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

  • Щелкните первую кнопка документа кнопку, чтобы выбрать заголовок диапазона, а затем щелкните второй кнопка документакнопку, чтобы выбрать столбец, который вы хотите разделить.
  • Затем укажите количество строк, которые вы хотите поместить на страницу из Строк на печатной странице, и введите количество столбцов на одной странице под Количество сегментов. Смотрите скриншот:

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

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

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

Ноты:

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

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

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


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

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

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (13)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, у меня есть вопрос, связанный со вторым вариантом "Печатать длинный столбец на одной странице с кодом VBA". Если у меня есть более одного столбца в диапазоне, как я могу использовать один и тот же код. Скажем, диапазон «$ A $ 2: $ C $ 118», как я могу это сделать. Спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо вам за эту информацию! Это было очень полезно и просто в использовании - даже для тех, у кого не было сильных навыков работы с компьютером (я использовал первый метод)
Этот комментарий был сведен к минимуму модератором на сайте
После нескольких часов поиска в Интернете я наткнулся на это. Это именно то, что я искал. Хорошая работа и спасибо, что нашли время для этого.
Этот комментарий был сведен к минимуму модератором на сайте
Уважаемый сэр, спасибо за эту работу, этот код VBA очень полезен для моей работы, я рад выполнить свою задачу за считанные секунды. Благодарю вас. ....
Этот комментарий был сведен к минимуму модератором на сайте
Вы можете использовать простую формулу =СМЕЩ(Лист1!$A$1,(СТРОКА()-2)*5+СТОЛБЦ(),0), чтобы данные располагались горизонтально в 5 столбцах. Затем вы можете выбрать размер страницы, печатать первую строку на каждой странице и т. д. Просто, аккуратно, без VBA.
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ изменить эту формулу для работы с 3 столбцами вместо 1?
Этот комментарий был сведен к минимуму модератором на сайте
Меня бы тоже такое решение заинтересовало.
Этот комментарий был сведен к минимуму модератором на сайте
куда девается эта формула? Я пытаюсь напечатать несколько строк с несколькими столбцами на одной странице в многострочном макете. Подобно этому:

Джон Смит 1 неделя
Джон Смит 2 неделя
Джон Смит тотализирует


У меня более 100 строк до IJ
Этот комментарий был сведен к минимуму модератором на сайте
Благодарю вас! Формула сработала без проблем!
Этот комментарий был сведен к минимуму модератором на сайте
Или вы можете просто скопировать таблицу и вставить ее в текстовый документ с любым количеством столбцов, которые вы хотите иметь.
Этот комментарий был сведен к минимуму модератором на сайте
У меня есть столбец из 10,000 XNUMX чисел, и макрос VBA предоставит таблицу на нескольких страницах. Однако я бы предпочел, чтобы каждая страница сортировалась по номерам, а не по столбцам. Любая помощь приветствуется.
Этот комментарий был сведен к минимуму модератором на сайте
У меня есть столбец из 10,000 XNUMX уникальных номеров, все отсортировано. Код VBA предоставляет таблицу, но столбцы сортируются по отдельности.
Я бы предпочел, чтобы каждая страница была отсортирована по номерам, чтобы было легко отслеживать данные страницу за страницей. Любые предложения приветствуются.
Кит
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Патерсон,
Возможно, следующий код VBA может оказать вам услугу:
Sub SingleToMultiColumn()
    Dim xRng As Range
    Dim xCount As Integer
    Dim xICols As Integer
    Dim xLRows As Long
    Dim xICol As Integer
    Dim xLRow As Long
    Dim xLRowSource As Long
    Dim xRowNum As Long
    Dim xFCount, xFNum, xFNum_R, xFNum_C As Long
    Dim x As Long
    Dim xWst As Worksheet
    Dim xJ As Integer
    
    Set xRng = Application.InputBox(prompt:="Select the range to convert", Type:=8)
    xICols = InputBox("How many columns do you want?")
    xRowNum = InputBox("How many rows do you want in a page?")
    xCount = xRng.Count
    xFCount = Fix(xCount / (xICols * xRowNum))
    If xICols * xRowNum * xFCount < xCount Then xFCount = xFCount + 1
    Set xWst = Worksheets.Add
    xJ = 0
    Application.ScreenUpdating = False
    For xFNum = 1 To xFCount
        If xJ = xCount Then Exit For
        For xFNum_C = 1 To xICols
            If xJ = xCount Then Exit For
            For xFNum_R = 1 To xRowNum
                If xJ = xCount Then Exit For
                xWst.Cells((xFNum - 1) * xRowNum + xFNum_R, xFNum_C) = xRng.Item(xJ + 1)
                xJ = xJ + 1
            Next
        Next
    Next
     Application.ScreenUpdating = True
End Sub



Пожалуйста, попробуйте, надеюсь, это поможет вам!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места