Excelで上下の空白セルを自動的にマージするにはどうすればよいですか?
この記事では、下のスクリーンショットに示すように、上または左の空白セルを自動的にマージする方法について説明します。 実際には、このタスクを処理できる組み込みユーティリティはありませんが、マクロコードは処理できます。
上記の空白をマージ | ||
![]() |
![]() |
![]() |
左の空白をマージ | ||
![]() |
![]() |
![]() |
列に基づいて上の空白のセルをマージします
XNUMXつの列にデータの範囲があり、列Cに基づいて上記のデータをマージするとします。
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 キーを押してコードを実行すると、ダイアログがポップアップして、機能する範囲を選択するように促します。 スクリーンショットを参照してください:
4。 クリック OK、次に空白のセルが上にマージされています。 スクリーンショットを参照してください:
上記の空白セルをマージします(単一列でのみ機能します)
これは、指定された列の上の空白のセルをマージできるマクロコードです。
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 キーを押してコードを実行すると、列範囲を選択するためのダイアログが表示されます。 スクリーンショットを参照してください:
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 キーを押してコードを実行すると、範囲を選択するためのダイアログが表示されます。 スクリーンショットを参照してください:
4。 クリック OK。 空白のセルは左にマージされています。
左の空白をマージ | ||
![]() |
![]() |
![]() |
同じセルを結合するか、セルを結合解除します
|
最高のオフィス生産性ツール
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
- 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
- スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
- セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
- [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
- 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
- テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
- スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
- ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
- 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
