Μετάβαση στο κύριο περιεχόμενο

Πώς να εκτυπώσετε μεγάλη στήλη σε μία σελίδα στο Excel;

Ας υποθέσουμε ότι έχετε μια μεγάλη λίστα δεδομένων σε μια στήλη, ίσως 200 σειρές και τώρα πρέπει να τα εκτυπώσετε, αλλά όταν εκτυπώνετε, χρησιμοποιεί χαρτί περίπου 5 σελίδων, με μόνο μία στήλη στην αριστερή πλευρά και πολύ λευκό στη δεξιά πλευρά. Με τη λέξη, μπορείτε να στήνετε, αλλά το Excel δεν έχει αυτήν τη λειτουργία. Πώς εκτυπώνετε τα δεδομένα της μεγάλης λίστας σε μία σελίδα για να αποθηκεύσετε το χαρτί;

Εκτυπώστε μεγάλη στήλη σε μία σελίδα με τον τύπο

Εκτυπώστε μεγάλη στήλη σε μία σελίδα με κωδικό VBA

Εκτυπώστε μεγάλη στήλη σε μία σελίδα με το Kutools για Excel


βέλος μπλε δεξιά φούσκα Εκτυπώστε μεγάλη στήλη σε μία σελίδα με τον τύπο

Εδώ μπορώ να σας παρουσιάσω μια μακρά φόρμουλα για την επίλυση αυτού του προβλήματος, κάντε το ως εξής:

1. Σε ένα νέο φύλλο εργασίας του ενεργού βιβλίου εργασίας σας, εισαγάγετε τον τύπο =IF(OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)="","",OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)) στο κελί A1.

Notes: Sheet1 είναι το φύλλο εργασίας που έχει τη μεγάλη λίστα που θέλετε να στήνετε.

45 είναι ο αριθμός σειράς που θέλετε να παραθέσετε τα δεδομένα σε μια στήλη.

Είναι όλες μεταβλητές και μπορείτε να τις αλλάξετε ανάλογα με τις ανάγκες σας.

2. Στη συνέχεια, επιλέξτε το κελί A1 και σύρετε τη λαβή πλήρωσης προς τα κάτω στη γραμμή 45 και, στη συνέχεια, σύρετε τη λαβή πλήρωσης προς τα δεξιά μέχρι να εμφανιστούν τα δεδομένα. Και η μεγάλη στήλη χωρίστηκε σε πολλές στήλες για να χωρέσει σε μια σελίδα σε ένα νέο φύλλο εργασίας. Δείτε το στιγμιότυπο οθόνης:

doc-print-long-στήλη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 για να εκτελέσετε αυτόν τον κώδικα και επιλέξτε τα δεδομένα λίστας που θέλετε να διαιρέσετε στο αναδυόμενο παράθυρο διαλόγου, δείτε το στιγμιότυπο οθόνης:

doc-print-long-στήλη2

4. Κλίκ OKκαι εισαγάγετε τον αριθμό των στηλών που θέλετε να διαιρέσετε. Δείτε το στιγμιότυπο οθόνης:

doc-print-long-στήλη3

5. και κάντε κλικ OK, η μεγάλη στήλη χωρίστηκε σε πέντε στήλες σε ένα νέο φύλλο εργασίας. Δείτε στιγμιότυπα οθόνης:

doc-print-long-στήλη4 -2 doc-print-long-στήλη5

βέλος μπλε δεξιά φούσκα Εκτυπώστε μεγάλη στήλη σε μία σελίδα με το Kutools για Excel

Τόσο ο μεγάλος τύπος όσο και ο κωδικός VBA μπορεί να είναι δύσκολοι για εσάς, εδώ μπορώ να σας παρουσιάσω μια εύκολη και βολική μέθοδο για την επίλυση αυτού του προβλήματος. Kutools για Excel'S Εκτύπωση πολλαπλών στηλών Η λειτουργία μπορεί να σας βοηθήσει να διαιρέσετε γρήγορα τη μεγάλη στήλη σε πολλές στήλες, ώστε να μπορείτε να τις εκτυπώσετε εύλογα.

Kutools για Excel περιλαμβάνει περισσότερα από 300 εύχρηστα εργαλεία Excel. Δωρεάν δοκιμή χωρίς περιορισμό σε 30 ημέρες. Αποκτήστε το τώρα.

Όταν εγκαταστήσετε το Kutools για Excel, μπορείτε να κάνετε τα εξής βήματα:

1. Κλίκ Εταιρεία > Εκτύπωση πολλαπλών στηλών, δείτε το στιγμιότυπο οθόνης:

doc-print-long-στήλη6

2. Στην Εκτύπωση πολλαπλών στηλών κουτί διαλόγου:

  • Κάντε κλικ στο πρώτο κουμπί doc για να επιλέξετε τον τίτλο του εύρους και, στη συνέχεια, κάντε κλικ στο δεύτερο κουμπί docκουμπί για να επιλέξετε τη στήλη που θέλετε να διαιρέσετε.
  • Στη συνέχεια, καθορίστε τον αριθμό των γραμμών από τις οποίες θέλετε να τοποθετήσετε ανά σελίδα Σειρές ανά εκτυπωμένη σελίδακαι εισαγάγετε τον αριθμό των στηλών που θέλετε σε μία σελίδα κάτω Αριθμός τμημάτων. Δείτε το στιγμιότυπο οθόνης:

doc-print-long-στήλη7

3. Στη συνέχεια κάντε κλικ στο κουμπί OK, τα δεδομένα της μεγάλης λίστας έχουν χωριστεί σε πέντε στήλες σε μια σελίδα. Δείτε στιγμιότυπα οθόνης:

doc-print-long-στήλη8 -2 doc-print-long-στήλη9

:

1. Ο τίτλος θα προστεθεί πριν από κάθε στήλη.

2. Εάν ελέγξετε Δημιουργήστε έναν σύνδεσμο με το ενεργό φύλλο επιλογή, τα νέα δεδομένα φύλλου εργασίας μπορούν να συνδεθούν με τα δεδομένα προέλευσης.

Εάν θέλετε να μάθετε περισσότερα σχετικά με αυτήν τη λειτουργία, κάντε κλικ Εκτύπωση πολλαπλών στηλών.

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

🤖 Kutools AI Aide: Επανάσταση στην ανάλυση δεδομένων με βάση: Ευφυής Εκτέλεση   |  Δημιουργία κώδικα  |  Δημιουργία προσαρμοσμένων τύπων  |  Αναλύστε δεδομένα και δημιουργήστε γραφήματα  |  Επίκληση Λειτουργιών Kutools...
Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

Περιγραφή


Το 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