Direkt zum Inhalt

Wie drucke ich eine lange Spalte auf einer Seite in Excel?

Angenommen, Sie haben eine lange Liste von Daten in einer Spalte, vielleicht 200 Zeilen, und jetzt müssen Sie sie drucken. Beim Drucken werden jedoch etwa 5 Seiten Papier verwendet, wobei nur eine Spalte auf der linken Seite und viel Leerraum vorhanden sind die richtige Seite. In Word können Sie Spalten, aber Excel hat diese Funktion nicht. Wie drucken Sie die Daten der langen Liste auf einer Seite, um das Papier zu sparen?

Drucken Sie eine lange Spalte auf einer Seite mit der Formel

Drucken Sie eine lange Spalte auf einer Seite mit VBA-Code

Drucken Sie mit Kutools for Excel eine lange Spalte auf einer Seite


Pfeil blau rechte Blase Drucken Sie eine lange Spalte auf einer Seite mit der Formel

Hier kann ich Ihnen eine lange Formel zur Lösung dieses Problems vorstellen. Bitte gehen Sie wie folgt vor:

1. Geben Sie in einem neuen Arbeitsblatt Ihrer aktiven Arbeitsmappe die Formel ein =IF(OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)="","",OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)) in die Zelle A1.

Notizen: Sheet1 ist das Arbeitsblatt mit der langen Liste, die Sie spalten möchten.

45 ist die Zeilennummer, in der Sie die Daten in einer Spalte auflisten möchten.

Sie sind alle Variablen, und Sie können sie nach Bedarf ändern.

2. Wählen Sie dann Zelle A1 aus, ziehen Sie den Füllpunkt nach unten in Zeile 45 und ziehen Sie den Füllpunkt nach rechts, bis die Daten angezeigt wurden. Die lange Spalte wurde in mehrere Spalten unterteilt, um auf eine Seite in einem neuen Arbeitsblatt zu passen. Siehe Screenshot:

doc-print-lange-Spalte1


Pfeil blau rechte Blase Drucken Sie eine lange Spalte auf einer Seite mit VBA-Code

Der folgende VBA-Code kann Ihnen auch dabei helfen, eine lange Liste von Daten in mehrere Spalten zu unterteilen, damit Sie die Daten drucken und Papier sparen können.

1. Halten Sie die Taste gedrückt ALT + F11 Tasten, und es öffnet die Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Modulfenster ein.

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. Drücken Sie dann die Taste F5 Geben Sie die Taste ein, um diesen Code auszuführen, und wählen Sie die Listendaten aus, die Sie im angezeigten Dialogfeld teilen möchten. Siehe Screenshot:

doc-print-lange-Spalte2

4. Klicken Sie OK, und geben Sie die Anzahl der Spalten ein, die Sie teilen möchten. Siehe Screenshot:

doc-print-lange-Spalte3

5. Und klicken Sie auf OKwurde die lange Spalte in einem neuen Arbeitsblatt in fünf Spalten unterteilt. Siehe Screenshots:

doc-print-lange-Spalte4 -2 doc-print-lange-Spalte5

Pfeil blau rechte Blase Drucken Sie mit Kutools for Excel eine lange Spalte auf einer Seite

Sowohl die lange Formel als auch der VBA-Code können für Sie schwierig sein. Hier kann ich Ihnen eine einfache und bequeme Methode zur Lösung dieses Problems vorstellen. Kutools for Excel Mehrere Spalten drucken Mit dieser Funktion können Sie die lange Spalte schnell in mehrere Spalten unterteilen, damit Sie sie angemessen drucken können.

Kutools for Excel Enthält mehr als 300 praktische Excel-Tools. Kostenlos ohne Einschränkung in 30 Tagen zu versuchen. Starten Sie jetzt.

Wenn Sie Kutools für Excel installiert haben, können Sie folgende Schritte ausführen:

1. Klicken Sie Unternehmen > Mehrere Spalten drucken, siehe Screenshot:

doc-print-lange-Spalte6

2. In dem Mehrere Spalten drucken Dialogbox:

  • Klicken Sie auf die erste doc-Schaltfläche Klicken Sie auf die Schaltfläche, um den Titel des Bereichs auszuwählen, und klicken Sie dann auf die zweite doc-SchaltflächeKlicken Sie auf die Schaltfläche, um die Spalte auszuwählen, die Sie teilen möchten.
  • Geben Sie dann die Anzahl der Zeilen an, aus denen Sie pro Seite einfügen möchten Zeilen pro gedruckter Seiteund geben Sie die Anzahl der gewünschten Spalten auf einer Seite unter ein Anzahl der Segmente. Siehe Screenshot:

doc-print-lange-Spalte7

3. Dann klick OKDie Daten der langen Liste wurden auf einer Seite in fünf Spalten unterteilt. Siehe Screenshots:

doc-print-lange-Spalte8 -2 doc-print-lange-Spalte9

Anmerkungen:

1. Der Titel wird vor jeder Spalte hinzugefügt.

2. Wenn Sie überprüfen Erstellen Sie eine Verknüpfung mit dem aktiven Blatt Option können die neuen Arbeitsblattdaten mit den Quelldaten verknüpft werden.

Wenn Sie mehr über diese Funktion erfahren möchten, klicken Sie bitte auf Mehrere Spalten drucken.

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
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