Печать одного столбца в несколько столбцов (Microsoft Excel)
Иногда данные, которые вы собираете на листе, очень хорошо помещаются в один столбец. Например, у вас может быть список имен, и все они содержатся в столбце A вашего рабочего листа. Когда вы выбираете печать рабочего листа, он может занимать довольно много страниц, все они почти пустые, поскольку левая сторона каждой страницы содержит имя, а правая сторона содержит пробелы.
В этом типе экземпляра было бы неплохо напечатать один столбец, как если бы он был несколькими столбцами. Таким образом, вы можете использовать больше каждой напечатанной страницы и меньше страниц в целом для вашего задания на печать. К сожалению, в Excel нет встроенных команд или настроек печати, которые позволяют автоматически переформатировать данные для лучшей печати. Однако есть обходные пути.
Один обходной путь, который часто упускается из виду, — это просто копирование списка из одной колонки в пустой документ Word. Если вы вставите его туда как обычный текст, вы можете отформатировать каждую страницу для нескольких столбцов и фактически распечатать информацию.
Если вы не хотите использовать Word, вы можете вырезать и вставить информацию из первого столбца в другие столбцы, чтобы получить желаемое количество столбцов для печати. Это, конечно же, нужно сделать на новом листе или в книге, чтобы исходные данные оставались нетронутыми. Например, если у вас есть 200 имен в исходном списке, вы можете вырезать по 40 имен за раз из списка и вставить их в столбцы от A до E нового рабочего листа. Для печати этого листа требуется меньше страниц, чем для печати исходного листа с одним столбцом.
Конечно, если вам придется часто делать это нарезание и вставку, работа по дому может быстро стать утомительной. В этом случае вы можете использовать макрос, который делает то же самое: он разрезает исходный список и вставляет его в несколько столбцов новой книги.
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
Когда вы запускаете этот макрос, вас просят выбрать диапазон, который вы хотите преобразовать, а затем вас попросят указать количество столбцов, в которые вы хотите его переформатировать. Он создает новый лист в текущей книге и копирует информацию из оригинала в столько столбцов, сколько вы указали.
Дополнительные ресурсы по решению этой проблемы можно найти на следующих веб-сайтах:
http://www.ozgrid.com/VBA/MiscVBA.htm#Print http://dmcritchie.mvps.org/excel/snakecol.htm
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (8239) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Printing_a_Single_Column_in_Multiple_Columns [Печать одного столбца в нескольких столбцах]
.