Ana içeriğe atla

Excel'de bir sayfada uzun sütun nasıl yazdırılır?

Bir sütunda uzun bir veri listeniz olduğunu varsayarsak, belki 200 satır ve şimdi bunları yazdırmanız gerekir, ancak yazdırdığınızda, sol tarafta yalnızca bir sütun ve üzerinde çok fazla beyaz alan olmak üzere yaklaşık 5 sayfalık kağıt kullanır. sağ taraf. Kelime olarak, sütun yapabilirsiniz, ancak Excel'in bu işlevi yoktur. Kağıttan tasarruf etmek için uzun liste verilerini bir sayfaya nasıl yazdırırsınız?

Formül ile bir sayfada uzun sütun yazdırın

VBA kodu ile tek sayfada uzun sütun yazdırın

Kutools for Excel ile tek sayfada uzun sütun yazdırın


ok mavi sağ balon Formül ile bir sayfada uzun sütun yazdırın

Burada size bu sorunu çözmek için uzun bir formül sunabilirim, lütfen şu şekilde yapın:

1. Etkin çalışma kitabınızın yeni bir çalışma sayfasına formülü girin =IF(OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)="","",OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)) A1 hücresine.

notlar: Sheet1 sütunlamak istediğiniz uzun listeyi içeren çalışma sayfasıdır.

45 verileri bir sütunda listelemek istediğiniz satır numarasıdır.

Hepsi değişkendir ve bunları ihtiyacınıza göre değiştirebilirsiniz.

2. Ardından A1 hücresini seçin ve doldurma tutamacını 45. satıra sürükleyin ve ardından veriler görüntülenene kadar doldurma tutamacını sağa doğru sürüklemeye devam edin. Ve uzun sütun, yeni bir çalışma sayfasında bir sayfaya sığması için birkaç sütuna bölünmüştür. Ekran görüntüsüne bakın:

doc-print-uzun-sütun1


ok mavi sağ balon VBA kodu ile tek sayfada uzun sütun yazdırın

Aşağıdaki VBA kodu ayrıca uzun bir veri listesini birkaç sütuna bölmenize yardımcı olabilir, böylece verileri yazdırabilir ve kağıt tasarrufu yapabilirsiniz.

1. Basılı tutun ALT + F11 anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic pencere.

2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresine yapıştırın.

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. Daha sonra tuşuna basın. F5 Bu kodu çalıştırmak için tuşuna basın ve açılan iletişim kutusunda bölmek istediğiniz liste verilerini seçin, ekran görüntüsüne bakın:

doc-print-uzun-sütun2

4. tıklayın OKve bölmek istediğiniz sütun sayısını girin. Ekran görüntüsüne bakın:

doc-print-uzun-sütun3

5. Ve tıklayın OK, uzun sütun yeni bir çalışma sayfasında beş sütuna bölünmüştür. Ekran görüntülerine bakın:

doc-print-uzun-sütun4 -2 doc-print-uzun-sütun5

ok mavi sağ balon Kutools for Excel ile tek sayfada uzun sütun yazdırın

Hem uzun formül hem de VBA kodu sizin için zor olabilir, burada size bu sorunu çözmek için kolay ve kullanışlı bir yöntem sunabilirim. Kutools for Excel'S Birden Çok Sütunu Yazdır işlevi, uzun sütunu hızlı bir şekilde birkaç sütuna ayırmanıza yardımcı olabilir, böylece bunları makul bir şekilde yazdırabilirsiniz.

Kutools for Excel 300'den fazla kullanışlı Excel aracı içerir. 30 günde hiçbir sınırlama olmaksızın ücretsiz deneyin. Şimdi alın.

Kutools for Excel'i kurduğunuzda, aşağıdaki adımları uygulayabilirsiniz:

1. tıklayın kuruluş > Birden Çok Sütunu Yazdır, ekran görüntüsüne bakın:

doc-print-uzun-sütun6

2. In Birden Çok Sütunu Yazdır iletişim kutusu:

  • İlk tıklayın doc düğmesi Aralığın başlığını seçmek için düğmesine ve ardından ikinci doc düğmesiBölmek istediğiniz sütunu seçmek için düğmesine basın.
  • Ardından, sayfa başına yerleştirmek istediğiniz satır sayısını belirtin Yazdırılan sayfa başına satır sayısıve altına bir sayfada olmasını istediğiniz sütun sayısını girin Segment sayısı. Ekran görüntüsüne bakın:

doc-print-uzun-sütun7

3. Sonra tıklayın OK, uzun liste verileri bir sayfada beş sütuna bölünmüştür. Ekran görüntülerine bakın:

doc-print-uzun-sütun8 -2 doc-print-uzun-sütun9

Notlar:

1. Başlık her sütundan önce eklenecektir.

2. Kontrol ederseniz Etkin sayfa ile bir bağlantı oluşturun seçeneği, yeni çalışma sayfası verileri kaynak verilere bağlanabilir.

Bu özellik hakkında daha fazla bilgi edinmek istiyorsanız, lütfen tıklayın Birden Çok Sütunu Yazdır.

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
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