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

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

作者: サン 最終更新日:2024年09月30日

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

上記の空白をマージ    
元データ ダロウ右 上の空白を結合する

 左の空白をマージ    
元データ 右矢印 空白を左にマージ

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

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

左の空白セルをマージ


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

XNUMXつの列にデータの範囲があり、列Cに基づいて上記のデータをマージするとします。
dsampleデータ

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

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

コードをコピーしてモジュールに貼り付けます

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

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

Excel AI 用 Kutools のスクリーンショット

Kutools AI で Excel の魔法を解き放つ

  • スマートな実行: セル操作の実行、データの分析、グラフの作成など、すべて簡単なコマンドで実行できます。
  • カスタム式: カスタマイズされた数式を生成してワークフローを効率化します。
  • VBAコーディング: VBA コードを簡単に記述して実装します。
  • 式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語の壁を打ち破ります。
AI を活用したツールで Excel の機能を強化します。 今すぐダウンロード これまでにない効率性を体験してください!

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

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

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

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

コードをコピーしてモジュールに貼り付けます

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

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

元データ 右矢印 上の空白を結合する

左の空白セルをマージ

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

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

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

コードをコピーしてモジュールに貼り付けます

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

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

 左の空白をマージ    
元データ 右矢印 空白を左にマージ

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

🤖 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% 向上させ、毎日何百回もマウス クリックを減らすことができます!