Note: The other languages of the website are Google-translated. Back to English

Jak wydrukować długą kolumnę na jednej stronie w programie Excel?

Przypuśćmy, że masz długą listę danych w kolumnie, może 200 wierszy, a teraz musisz je wydrukować, ale kiedy drukujesz, używa około 5 stronicowego papieru, z tylko jedną kolumną po lewej stronie i dużą ilością spacji po prawej stronie. Słowem, możesz kolumnować, ale Excel nie ma tej funkcji. Jak wydrukować dane długiej listy na jednej stronie, aby zaoszczędzić papier?

Wydrukuj długą kolumnę na jednej stronie z formułą

Wydrukuj długą kolumnę na jednej stronie z kodem VBA

Wydrukuj długą kolumnę na jednej stronie za pomocą Kutools for Excel

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

strzałka niebieski prawy bąbelek Wydrukuj długą kolumnę na jednej stronie z formułą

Tutaj mogę przedstawić długą formułę rozwiązania tego problemu, wykonaj następujące czynności:

1. W nowym arkuszu aktywnego skoroszytu wprowadź formułę =IF(OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)="","",OFFSET(Sheet1!$A$1,(COLUMN()-1)*45+ROW()-1,0)) do komórki A1.

Uwagi: Sheet1 to arkusz roboczy zawierający długą listę, którą chcesz umieścić w kolumnie.

45 to numer wiersza, w którym chcesz wyświetlić dane w kolumnie.

Wszystkie są zmiennymi i możesz je zmienić w razie potrzeby.

2. Następnie wybierz komórkę A1 i przeciągnij uchwyt wypełniania w dół do wiersza 45, a następnie przeciągnij uchwyt wypełniania w prawo, aż dane zostaną wyświetlone. Długa kolumna została podzielona na kilka kolumn, aby zmieścić się na jednej stronie w nowym arkuszu. Zobacz zrzut ekranu:

doc-print-długa-kolumna1


strzałka niebieski prawy bąbelek Wydrukuj długą kolumnę na jednej stronie z kodem VBA

Poniższy kod VBA może również pomóc w podzieleniu długiej listy danych na kilka kolumn, aby można było wydrukować dane i zaoszczędzić papier.

1. Przytrzymaj ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w oknie modułu.

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. Następnie naciśnij F5 klucz do uruchomienia tego kodu i wybierz listę danych, które chcesz podzielić w wyskakującym oknie dialogowym, zobacz zrzut ekranu:

doc-print-długa-kolumna2

4, Kliknij OKi wprowadź liczbę kolumn, które chcesz podzielić. Zobacz zrzut ekranu:

doc-print-długa-kolumna3

5, i kliknij OK, długa kolumna została podzielona na pięć kolumn w nowym arkuszu. Zobacz zrzuty ekranu:

doc-print-długa-kolumna4 -2 doc-print-długa-kolumna5

strzałka niebieski prawy bąbelek Wydrukuj długą kolumnę na jednej stronie za pomocą Kutools for Excel

Zarówno długa formuła, jak i kod VBA mogą być dla Ciebie trudne, tutaj mogę przedstawić łatwą i wygodną metodę rozwiązania tego problemu. Kutools dla programu Excel'S Drukuj wiele kolumn funkcja może pomóc w szybkim podzieleniu długiej kolumny na kilka kolumn, aby można było je rozsądnie wydrukować.

Kutools dla programu Excel zawiera ponad 300 przydatnych narzędzi programu Excel. Bezpłatne wypróbowanie bez ograniczeń w ciągu 30 dni. Pobierz teraz.

Po zainstalowaniu Kutools dla programu Excel możesz wykonać następujące czynności:

1, Kliknij Przedsiębiorstwo > Drukuj wiele kolumnzobacz zrzut ekranu:

doc-print-długa-kolumna6

2, w Drukuj wiele kolumn Okno dialogowe:

  • Kliknij pierwszy przycisk doc , aby wybrać tytuł zakresu, a następnie kliknij drugi przycisk doc, aby wybrać kolumnę, którą chcesz podzielić.
  • Następnie określ liczbę wierszy, z których chcesz umieścić na stronie Wiersze na wydrukowaną stronęi wprowadź liczbę kolumn, które chcesz umieścić na jednej stronie Liczba segmentów. Zobacz zrzut ekranu:

doc-print-długa-kolumna7

3. Następnie kliknij OK, dane z długiej listy zostały podzielone na pięć kolumn na stronie. Zobacz zrzuty ekranu:

doc-print-długa-kolumna8 -2 doc-print-długa-kolumna9

Uwagi:

1. Tytuł zostanie dodany przed każdą kolumną.

2. Jeśli zaznaczysz Utwórz łącze z aktywnym arkuszem opcja, nowe dane arkusza mogą być połączone z danymi źródłowymi.

Jeśli chcesz dowiedzieć się więcej o tej funkcji, kliknij Drukuj wiele kolumn.


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (13)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam mam pytanie związane z drugą opcją "Drukuj długą kolumnę na jednej stronie z kodem VBA". Jeśli mam więcej niż jedną kolumnę w zakresie, jak mogę użyć tego samego kodu. Powiedzmy, że zakres „$ A $ 2: $ C $ 118”, jak mogę to zrobić. Dzięki.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję za tę informację! Była bardzo pomocna i łatwa w użyciu - nawet dla kogoś, kto nie ma dużej umiejętności obsługi komputera (ja zastosowałam pierwszą metodę)
Ten komentarz został zminimalizowany przez moderatora na stronie
Po wielogodzinnym przeszukiwaniu Internetu natknąłem się na to. To jest dokładnie to, czego szukałem. Dobra robota i dziękuję za poświęcenie czasu na to.
Ten komentarz został zminimalizowany przez moderatora na stronie
Szanowny Panie Dziękuję za tę pracę, Ten kod VBA jest bardzo pomocny w mojej pracy, cieszę się, że wykonam moje zadanie w kilka sekund. Dziękuję. ....
Ten komentarz został zminimalizowany przez moderatora na stronie
Możesz użyć prostej formuły =OFFSET(Arkusz1!$A$1,(ROW()-2)*5+COLUMN(),0), aby umożliwić przepływ danych w poziomie w 5 kolumnach. Następnie możesz wybrać rozmiar strony, wydrukować pierwszy wiersz na każdej stronie itp. Prosty, schludny, bez VBA
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy istnieje sposób na zmodyfikowanie tej formuły, aby działała z 3 kolumnami zamiast 1?
Ten komentarz został zminimalizowany przez moderatora na stronie
Byłbym również zainteresowany takim rozwiązaniem.
Ten komentarz został zminimalizowany przez moderatora na stronie
gdzie idzie ta formuła? Próbuję wydrukować wiele wierszy z kilkoma kolumnami na jednej stronie w układzie wielu wierszy. Podobne do tego:

John Smith tydzień 1
John Smith tydzień 2
sumy john smith


Mam ponad 100 rzędów do IJ
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję Ci! Formuła działała bezproblemowo!
Ten komentarz został zminimalizowany przez moderatora na stronie
Możesz też po prostu skopiować tabelę i wkleić ją do dokumentu programu Word z dowolną liczbą kolumn.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam kolumnę z 10,000 XNUMX liczb, a makro VBA zapewni tabelę na kilku stronach. Wolałbym jednak, aby każda strona była posortowana numerycznie, a nie kolumna. Każda pomoc jest doceniana.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam kolumnę zawierającą 10,000 XNUMX unikalnych numerów, wszystkie posortowane. Kod VBA udostępnia tabelę, ale kolumny są sortowane indywidualnie.
Wolałbym, aby każda strona była posortowana numerycznie, tak aby można było łatwo śledzić dane strona po stronie. Wszelkie sugestie mile widziane.
Keith
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Patersonie,
Może następujący kod VBA może ci wyświadczyć przysługę:
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



Proszę spróbować, mam nadzieję, że może ci to pomóc!
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL