
以下のようなExcelのシートがあります。
A2からC7を選択した後、マクロを走らせて空白セルを結合したいです。
A B C
1 (空白) DDD (空白)
2 ABC 123 (空白)
3 (空白)(空白)(空白)
4 DEF GHI DEF
5 (空白)(空白)(空白)
6 (空白) 789 123
7 (空白)(空白)(空白)
8 GHI JKL MNO
A3はA2と結合、A5,6,7はA4と結合、B列、C列も同様です。
要は、空白セルを上にある値の入ったセルと結合したいのです。
ただ、C2が選択範囲外のC1と結合すると困るので、先頭行の空白は、上の選択範囲外セルと結合しないようにしたいです。C2とC3は、結合しませんが、結合する仕様でも問題ありません。
(A2と同じ値をA3に入れた方がいいという意見があると思いますが、会社の表なので結合しないといけません。)
※以前、似たような質問をしましたが、少し違います。(これは未解決です。)
No.6ベストアンサー
- 回答日時:
[回答番号:No.3] の DOUGLAS_ です。
失礼いたしました。問題をよく読んでおりませんでした。
>A2からC7を選択した後
でしたね。
Sub Macro2()
Dim R As Range
For Each R In Selection
If R.Value = "" And R.Row <> Selection.Row Then _
R.Offset(-1).Resize(2).Merge
Next
End Sub
No.5
- 回答日時:
Sub test2()
While ActiveCell = ""
ActiveCell.Offset(1).Select
Wend
While ActiveCell <> "end"
rp = 1
With ActiveCell
While .Offset(rp).Value = ""
rp = rp + 1
Wend
Range(.Address & ":" & .Offset(rp - 1).Address).Merge
.Offset(1).Select
End With
Wend
End Sub
以前作ったマクロが見つかったので参考までに
最終行の各セルに終了を示すデータ"end"を入れないとシートの最終行まで結合してしまうのでご注意を
No.4
- 回答日時:
#2です。
>Set rs = Cells(Rows.Count, r.Column).End(xlUp)
Set rs = Cells(Rows.Count, r.Column).End(xlUp).Offset(-2)
各列で最終行が違うようなら、こちらに修正が必要かも。
No.2
- 回答日時:
Sub try()
Dim r As Range, rr As Range
Dim rs As Range
Application.DisplayAlerts = False
For Each r In Range("A3:C3")
Set rs = Cells(Rows.Count, r.Column).End(xlUp)
For Each rr In r.Range("A1:A" & rs.Row).SpecialCells(xlCellTypeBlanks).Areas
rr.Offset(-1).Resize(rr.Rows.Count + 1).Merge
Next
Next
Application.DisplayAlerts = True
End Sub
ご参考になれば。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) xlDownの使い分けについての質問です vbaでxlDownを使って一覧近い空白までのセルをコピー 3 2022/08/04 12:20
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
エクセル セルのコピー元が空...
-
Excel > ピボットテーブル「(空...
-
エクセル 連番が途切れていると...
-
Excelで、入力文字の後に自動で...
-
エクセルで入力すると隣のセル...
-
「データ要素を線で結ぶ」がチ...
-
ピボットテーブルで空白セルの...
-
形式貼り付けの「空白を無視す...
-
Excel:関数が入っているセルに...
-
excel2010 空白セルにのみ貼り...
-
空白セル内の数式を残したまま...
-
数式による空白を無視して最終...
-
関数TRANSPOSEで空白セルを0に...
-
【画像あり】オートフィルター...
-
色つき行の一括削除は?
-
エクセル AVERAGEで #DIV/0!...
-
EXCELでBLANK("")とゼロを区...
-
エクセルで数式の入ったセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
空白セルに斜線(罫線)
-
Excel > ピボットテーブル「(空...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
ピボットテーブルで空白セルの...
-
「データ要素を線で結ぶ」がチ...
-
Excel:関数が入っているセルに...
-
数式による空白を無視して最終...
-
空白セル内の数式を残したまま...
-
excel2010 空白セルにのみ貼り...
-
【Excel】 csvの作成時、空白セ...
-
エクセルで上の行の値を自動的...
-
エクセルのIF関数で、隣のセル...
-
エクセルで、「複数のセルの中...
-
形式貼り付けの「空白を無視す...
-
関数TRANSPOSEで空白セルを0に...
-
【Excel】 Ctrl+方向キー で空...
-
色つき行の一括削除は?
おすすめ情報