メインコンテンツへスキップ

Excelで上下の空白セルを自動的にマージするにはどうすればよいですか?

作者: サン 最終更新日:2020年08月19日

この記事では、下のスクリーンショットに示すように、上または左の空白セルを自動的にマージする方法について説明します。 実際には、このタスクを処理できる組み込みユーティリティはありませんが、マクロコードは処理できます。

上記の空白をマージ    
左上のドキュメントマージ空白1 右矢印ドキュメント 左上のドキュメントマージ空白2

 左の空白をマージ    
左上のドキュメントマージ空白3 右矢印ドキュメント 左上のドキュメントマージ空白4

列に基づいて上の空白のセルをマージします

上記の空白セルをマージします(単一列でのみ機能します)

左の空白セルをマージ


列に基づいて上の空白のセルをマージします

XNUMXつの列にデータの範囲があり、列Cに基づいて上記のデータをマージするとします。
左上のドキュメントマージ空白1

1。 押す Alt + F11 k有効にするための目 アプリケーション向け Microsoft Visual Basic ウィンドウをクリックして インセット > モジュール。 スクリーンショットを参照してください:
左上のドキュメントマージ空白5

2.次に、以下のコードを空白のスクリプトに貼り付けます。 スクリーンショットを参照してください:

VBA:次の列に基づいて上記の空白をマージします

Sub MergeCells()
'UpdatebyExtendoffice2017025
    Dim xRg As Range
    Dim xCell As Range
    Dim xAddress As String
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    For Each xCell In xRg
        If xCell.Value = "" Then
            Range(xCell, xCell.Offset(-1, 0)).Merge
        End If
    Next
End Sub

左上のドキュメントマージ空白6

3。 押す F5 キーを押してコードを実行すると、ダイアログがポップアップして、機能する範囲を選択するように促します。 スクリーンショットを参照してください:
左上のドキュメントマージ空白7

4。 クリック OK、次に空白のセルが上にマージされています。 スクリーンショットを参照してください:
左上のドキュメントマージ空白2


上記の空白セルをマージします(単一列でのみ機能します)

これは、指定された列の上の空白のセルをマージできるマクロコードです。

1。 押す Altキー+ F11 を有効にするためのキー アプリケーション向け Microsoft Visual Basic ウィンドウをクリックして インセット > モジュール。 スクリーンショットを参照してください:
左上のドキュメントマージ空白9

2.以下のコードをスクリプトに貼り付けます。 スクリーンショットを参照してください:

VBA:上の空白のセルをマージします

Sub mergeblankswithabove()
'UpdatebyExtendoffice20171025
    Dim I As Long
    Dim xRow As Long
    Dim xRg As Range
    Dim xCell As Range
    Dim xAddress As String
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range (single column):", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
        MsgBox "Only work for single column", , "KuTools For Excel"
        Exit Sub
    End If
    xRow = xRg.Rows.Count
    Set xRg = xRg(xRow)
    For I = xRow To 1 Step -1
        Set xCell = xRg.Offset(I - xRow, 0)
        Debug.Print xCell.Address
        If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge
    Next
End Sub

左上のドキュメントマージ空白10

3。 押す F5 キーを押してコードを実行すると、列範囲を選択するためのダイアログが表示されます。 スクリーンショットを参照してください:
左上のドキュメントマージ空白11

4. [OK]をクリックします。 そして、選択範囲の空白のセルは上にマージされています。

左上のドキュメントマージ空白12 右矢印ドキュメント 左上のドキュメントマージ空白13

左の空白セルをマージ

残っている空白のセルをマージする場合は、次のコードを使用すると便利です。

1。 押す Altキー+ F11 を有効にするためのキー Microsoft Visual Basic [アプリケーション]ウィンドウで、[ インセット > モジュール。 スクリーンショットを参照してください:
左上のドキュメントマージ空白14

2.次に、以下のコードを空白のスクリプトに貼り付けます。 スクリーンショットを参照してください:

VBA:空白をマージします

Sub mergeblankswithleft()
'UpdatebyExtendoffice20171025
    Dim xRg As Range
    Dim xCell As Range
    Dim xAddress As String
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    For Each xCell In xRg
        If xCell.Value = "" Then Range(xCell, xCell.Offset(0, -1)).Merge
    Next
End Sub

左上のドキュメントマージ空白15

3。 押す F5 キーを押してコードを実行すると、範囲を選択するためのダイアログが表示されます。 スクリーンショットを参照してください:
左上のドキュメントマージ空白16

4。 クリック OK。 空白のセルは左にマージされています。

 左の空白をマージ    
左上のドキュメントマージ空白3 右矢印ドキュメント 左上のドキュメントマージ空白4

同じセルを結合するか、セルを結合解除します

docマージアンマージ

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

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリー (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you very much!
This comment was minimized by the moderator on the site
Thanks for sharing , it so useful for me.
This comment was minimized by the moderator on the site
it's not working :) Excel 365
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations