메인 컨텐츠로 가기

Excel에서 한 페이지에 긴 열을 인쇄하는 방법은 무엇입니까?

한 열에 200 행 정도의 긴 데이터 목록이 있고 이제 인쇄해야하지만 인쇄 할 때 왼쪽에 한 열만 있고 많은 공백이있는 약 5 페이지의 용지를 사용한다고 가정합니다. 우편. 한마디로 열 수 있지만 Excel에는이 기능이 없습니다. 용지를 절약하기 위해 긴 목록 데이터를 한 페이지에 어떻게 인쇄합니까?

수식을 사용하여 한 페이지에 긴 열 인쇄

VBA 코드로 한 페이지에 긴 열 인쇄

Excel 용 Kutools로 한 페이지에 긴 열 인쇄


화살표 블루 오른쪽 거품 수식을 사용하여 한 페이지에 긴 열 인쇄

이 문제를 해결하기위한 긴 공식을 소개하겠습니다. 다음과 같이하십시오.

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, 긴 열이 새 워크 시트에서 XNUMX 개의 열로 나뉩니다. 스크린 샷보기 :

문서 인쇄 긴 열4 -2 문서 인쇄 긴 열5

화살표 블루 오른쪽 거품 Excel 용 Kutools로 한 페이지에 긴 열 인쇄

긴 수식과 VBA 코드 모두 어려울 수 있습니다. 여기서는이 문제를 해결하는 쉽고 편리한 방법을 소개합니다. Excel 용 Kutools여러 열 인쇄 함수는 긴 열을 여러 열로 빠르게 분할하여 합리적으로 인쇄 할 수 있도록 도와줍니다.

Excel 용 Kutools 300 개 이상의 편리한 Excel 도구가 포함되어 있습니다. 30 일 동안 제한없이 무료로 사용해보세요. 그것을 지금.

Excel 용 Kutools를 설치 한 경우 다음 단계를 수행 할 수 있습니다.

1. 딸깍 하는 소리 Enterprise > 여러 열 인쇄, 스크린 샷 참조 :

문서 인쇄 긴 열6

2. 에서 여러 열 인쇄 대화 상자 :

  • 첫 번째를 클릭 문서 버튼 버튼을 눌러 범위 제목을 선택한 다음 두 번째 문서 버튼버튼을 눌러 분할 할 열을 선택합니다.
  • 그런 다음 페이지 당 넣을 행 수를 지정하십시오. 인쇄 된 페이지 당 행을 클릭하고 아래 한 페이지에 원하는 열 수를 입력하십시오. 세그먼트 수. 스크린 샷보기 :

문서 인쇄 긴 열7

3. 그런 다음 OK, 긴 목록 데이터는 한 페이지에서 XNUMX 개의 열로 나뉩니다. 스크린 샷보기 :

문서 인쇄 긴 열8 -2 문서 인쇄 긴 열9

배송 시 요청 사항:

1. 제목은 모든 열 앞에 추가됩니다.

2. 확인하면 활성 시트로 링크 만들기 옵션을 선택하면 새 워크 시트 데이터를 원본 데이터에 연결할 수 있습니다.

이 기능에 대해 더 알고 싶다면 여러 열 인쇄.

최고의 사무 생산성 도구

인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

kte 탭 201905


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (14)
Rated 4.5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
I have a column of 10,000 unique numbers, all sorted. The VBA code provides a table, but the Columns are sorted individually.
I would prefer that each page is sorted numerically so easy to follow the data page by page. Any suggestions most welcome.
Keith
This comment was minimized by the moderator on the site
Hello, Paterson,
Maybe the following VBA code can do you a favor:
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



Please try, hope it can help you!
This comment was minimized by the moderator on the site
I have a column of 10,000 numbers and the VBA macro will provide a table on several pages. However, I would prefer that each page is sorted numerically rather than the column. Any help appreciated.
This comment was minimized by the moderator on the site
Or you can just copy the table, and paste it in a word document, with as many columns you want to have.
This comment was minimized by the moderator on the site
Thank you! The formula worked seamlessly!
This comment was minimized by the moderator on the site
You can use a simple formula =OFFSET(Sheet1!$A$1,(ROW()-2)*5+COLUMN(),0) to let the data flow horizontally in 5 columns. Then you can select Page size, print first row on each page, etc. Simple, neat, no VBA
This comment was minimized by the moderator on the site
where does this formula go? I am trying to print multiple rows with several columns on one page in a multiple row layout. Similar to this:

john smith week 1
john smith week 2
john smith totals


I have over 100 rows with up to IJ
This comment was minimized by the moderator on the site
Is there a way to modify this formula to work with 3 columns instead of 1?
This comment was minimized by the moderator on the site
Modern Excel (e.g. 365) can use this for single column:
=WRAPCOLS(Sheet1!$A$1:$A$50;45;"")

Similarly, if you want the column spread horizontally use:
=WRAPROWS(Sheet1!$A$1:$A$50;3;"")


If you need multiple columns converted, I created this formula:
=LET(SOURCE;Sheet1!$A$1;R;45;C;3;X;MOD(COLUMN()-1;C);NEW_REL_COL;INT((COLUMN()-1)/C);Y;(NEW_REL_COL)*R+ROW()-1;V;OFFSET(SOURCE;Y;X);IF(OR(V="";ROW()>R);"";V))

Update SOURCE (Sheet1!$A$1) to be the top-left corner of your source, the number behind R (45) for the rows; the number behind C (3) for the columns of your source.

e.g. for output of 2 columns with 30 rows start the formula with =LET(SOURCE;Sheet1!$A$1;R;30;C;2;


On modern Excel (e.g. 365) can use this Spill-Function for multicolumn with an added empty column in between:

=LET(R;45;C;3;EMPTY_COL;TRUE;
E;IF(EMPTY_COL;1;0);ANZ;COUNTA(Sheet1!$A:$A);MY;R;MX;CEILING.MATH(ANZ/MY;1)*(C+E);
MAKEARRAY(MY;MX;LAMBDA(ru;co;
LET(X;MOD(co-1;(C+E));NEW_REL_COL;INT((co-1)/(C+E));Y;(NEW_REL_COL)*R+ru-1;
IF(OR(AND(EMPTY_COL;X=(C+E-1));Y>=ANZ);"";OFFSET(Sheet1!$A$1;Y;X))
))))

Needs to be filled only in one cell and fills out down and right.
Use R and C like above. Fill the value EMPTY_COL with true or false if you want an empty column to be added between the repetitions.
Rated 4.5 out of 5
This comment was minimized by the moderator on the site
I would be interested in a solution like this as well.
This comment was minimized by the moderator on the site
Dear Sir Thanks for this work, This VBA Code is very helpful for my work, I am glad to complete my task in seconds. Thank You. ....
This comment was minimized by the moderator on the site
After searching the internet for hours, I stumbled across this. Its exactly what I was looking for. Nice job and thanks for taking the time out for this.
This comment was minimized by the moderator on the site
Thank you for this information! It was very helpful and easy to use - even for somebody lacking strong computer skills (I used the first method)
This comment was minimized by the moderator on the site
Hello, I have a question related to the second option "Print long column on one page with VBA code". If i have more than one column in range how can I use the same code. Let say the range of "$A$2:$C$118" how can i do it work. Thanks.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations