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

ExcelでXNUMXページに長い列を印刷するにはどうすればよいですか?

200列に5行程度の長いデータのリストがあり、それらを印刷する必要があると仮定しますが、印刷するときは、左側にXNUMX列だけで、多くの空白がある約XNUMXページの用紙を使用します。右側。 つまり、列を作成することはできますが、Excelにはこの機能がありません。 長いリストのデータをXNUMXページに印刷して、紙を節約するにはどうすればよいですか。

式を使用してXNUMXページに長い列を印刷する

VBAコードを使用してXNUMXページに長い列を印刷する

Kutools forExcelを使用してXNUMXページに長い列を印刷する

OfficeタブOfficeでタブ付きの編集と閲覧を有効にし、作業をはるかに簡単にします...
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
  • 何でも再利用: 最もよく使用される、または複雑な数式、グラフなどをお気に入りに追加して、後ですぐに再利用できます。
  • 20以上のテキスト機能: テキスト文字列から数値を抽出します。 テキストの一部を抽出または削除します。 数字と通貨を英語の単語に変換します。
  • マージツール:複数のワークブックとシートをXNUMXつに。 データを失うことなく複数のセル/行/列をマージします。 重複する行と合計をマージします。
  • 分割ツール:値に基づいてデータを複数のシートに分割します。 XNUMXつのワークブックから複数のExcel、PDF、またはCSVファイル。 XNUMX列から複数列。
  • 貼り付けスキップ 非表示/フィルタリングされた行; カウントと合計 背景色別; パーソナライズされた電子メールを複数の受信者にまとめて送信します。
  • スーパーフィルター: 高度なフィルタースキームを作成し、任意のシートに適用します。 並び替え 週、日、頻度など。 フィルタ 太字、数式、コメント...
  • 300 以上の強力な機能。 Office 2007-2021 および 365 で動作します。 すべての言語をサポートします。 企業や組織に簡単に導入できます。

矢印青い右バブル 式を使用してXNUMXページに長い列を印刷する

ここでは、この問題を解決するための長い公式を紹介します。次のようにしてください。

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までドラッグしてから、データが表示されるまで塗りつぶしハンドルを右にドラッグし続けます。 また、長い列は、新しいワークシートのXNUMXページに収まるように、いくつかの列に分割されています。 スクリーンショットを参照してください:

doc-print-long-column1


矢印青い右バブル VBAコードを使用してXNUMXページに長い列を印刷する

次のVBAコードは、データの長いリストを複数の列に分割して、データを印刷して紙を節約するのにも役立ちます。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

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-column2

4に設定します。 OK をクリックします。 OK、および分割する列の数を入力します。 スクリーンショットを参照してください:

doc-print-long-column3

5。 をクリックします OK、新しいワークシートでは、長い列がXNUMXつの列に分割されています。 スクリーンショットを参照してください:

doc-print-long-column4 -2 doc-print-long-column5

矢印青い右バブル Kutools forExcelを使用してXNUMXページに長い列を印刷する

長い式とVBAコードの両方が難しい場合があります。ここでは、この問題を解決するための簡単で便利な方法を紹介します。 Kutools for Excelさん 複数の列を印刷する 関数を使用すると、長い列を複数の列にすばやく分割して、合理的に印刷できるようになります。

Kutools for Excel 300以上の便利なExcelツールが含まれています。 30日以内に制限なしで無料でお試しいただけます。 今すぐ入手.

Kutools for Excelをインストールしたら、次の手順で実行できます。

1に設定します。 OK をクリックします。 エンタープライズ > 複数の列を印刷する、スクリーンショットを参照してください:

doc-print-long-column6

2。 の中に 複数の列を印刷する ダイアログボックス:

  • 最初のクリック ドキュメントボタン ボタンをクリックして範囲のタイトルを選択し、XNUMX番目をクリックします ドキュメントボタンボタンをクリックして、分割する列を選択します。
  • 次に、ページごとに配置する行数を指定します。 印刷ページあたりの行数、およびXNUMXページに必要な列数を下に入力します セグメント数。 スクリーンショットを参照してください:

doc-print-long-column7

3。 次に、をクリックします OK、ロングリストデータはXNUMXページでXNUMX列に分割されています。 スクリーンショットを参照してください:

doc-print-long-column8 -2 doc-print-long-column9

注意:

1.タイトルはすべての列の前に追加されます。

2.チェックした場合 アクティブシートとのリンクを作成する オプションで、新しいワークシートデータをソースデータにリンクできます。

この機能について詳しく知りたい場合は、をクリックしてください。 複数の列を印刷する.


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (13)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、2番目のオプション「VBAコードを使用して118ページに長い列を印刷する」に関する質問があります。 範囲内に複数の列がある場合、同じコードを使用するにはどうすればよいですか。 「$A$ XNUMX:$ C$XNUMX」の範囲をどのように機能させることができますか。 ありがとう。
このコメントは、サイトのモデレーターによって最小化されました
この情報に感謝! それは非常に役に立ち、使いやすかった-強力なコンピュータースキルが不足している人にとっても(私は最初の方法を使用しました)
このコメントは、サイトのモデレーターによって最小化されました
インターネットを何時間も検索した後、私はこれに出くわしました。 それはまさに私が探していたものです。 お疲れ様でした。お時間を割いていただきありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
親愛なるサーこの作業に感謝します。このVBAコードは私の作業に非常に役立ちます。数秒でタスクを完了できてうれしいです。 ありがとうございました。 ...。
このコメントは、サイトのモデレーターによって最小化されました
単純な式=OFFSET(Sheet1!$ A $ 1、(ROW()-2)* 5 + COLUMN()、0)を使用して、データを5列で水平方向に流すことができます。 次に、ページサイズを選択したり、各ページの最初の行を印刷したりできます。シンプル、すっきり、VBAなし
このコメントは、サイトのモデレーターによって最小化されました
この数式を変更して、3列ではなく1列で機能するようにする方法はありますか?
このコメントは、サイトのモデレーターによって最小化されました
私もこのような解決策に興味があります。
このコメントは、サイトのモデレーターによって最小化されました
この式はどこに行きますか? 複数行のレイアウトで、XNUMXページに複数の列を持つ複数の行を印刷しようとしています。 これに似ています:

ジョンスミス第1週
ジョンスミス第2週
ジョンスミス合計


IJまでの100行以上あります
このコメントは、サイトのモデレーターによって最小化されました
ありがとうございました! 数式はシームレスに機能しました!
このコメントは、サイトのモデレーターによって最小化されました
または、テーブルをコピーして、必要な数の列を含むWord文書に貼り付けることもできます。
このコメントは、サイトのモデレーターによって最小化されました
10,000 個の数字の列があり、VBA マクロは複数のページにテーブルを提供します。 ただし、各ページは列ではなく数値でソートすることをお勧めします。 どんな助けでも感謝します。
このコメントは、サイトのモデレーターによって最小化されました
10,000 個の一意の数字の列があり、すべて並べ替えられています。 VBA コードはテーブルを提供しますが、列は個別に並べ替えられます。
各ページが数値順にソートされているので、ページごとにデータを簡単にたどることができます。 どんな提案でも大歓迎です。
キース
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、パターソン。
おそらく、次の VBA コードが役立つでしょう。
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



ぜひお試しください。お役に立てば幸いです。
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護