dポイントプレゼントキャンペーン実施中!

例えば
A10〜M10まで項目名
A10〜M30まで表になってます。
A30〜L30までセル結合になって合計が表示、
M30はM11〜M29の合計額が表示されます。
A31行目からシートの最終行まで一度削除したいんですか、

データ量による、行が変わります。
マクロのコードを教えていただかますでしょうか?
よろしくお願いします。

質問者からの補足コメント

  • 何度も申し訳ございません。
    例えば
    A列の11行目からシートの最終行まで、空白セルがあったら、行削除したいです。

    Bセルにデータがあっても行を削除したいんです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/12/15 18:29

A 回答 (6件)

No4です。



一応確認しましたので、「A~M列で空白セルのある行を削除する」例を以下に

Set rg = ActiveSheet.UsedRange
Set rg = Intersect(Rows(11).Resize(rg.Rows.Count), Range("A:M"))
rg.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

上記の場合、範囲内に空白セルが存在しないとエラーになるので、エラー処理を加えておく必要があるかも知れません。


以下は、別の方法でエラー回避した例です。
Set rg = ActiveSheet.UsedRange
rg.Cells(rg.Rows.Count + 1, 1).Value = " "

Set rg = ActiveSheet.UsedRange
Set rg = Intersect(Rows(11).Resize(rg.Rows.Count), Range("A:M"))
rg.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    • good
    • 0

A11行~M列最終行まで削除する、と解釈します。



END1 = Worksheets("Sheet1").Range("M65536").End(xlUp).Row
Worksheets("Sheet1").Range("A11:A" & END1).Delete
    • good
    • 0
この回答へのお礼

こんばんは。
思ったとおりにできました。
ありがとうございます。
助かりました。

お礼日時:2020/12/16 21:19

こんばんは



最終行は、多少アバウトでも良さそうなので、UsedRangeの最大行を用いればよいと思います。

>空白セルがあったら
に関しては、各行をそれぞれ調べるしかないかもしれません。
(下に、まとめて削除できるかもというものも書いておきますが・・・)

「A~M列で」という意味でよいのなら、各行のセル範囲で CountBlanc>0 なら、削除すればよいのでは?
もしも、順に削除してゆくのなら、大きい方の行からチェックしてゆくのが常道です。
後から、纏めて削除する方式なら順序はどちらでもよいです。

試していないので、以下はうまくいくか自信がありませんが・・・
A11:M最終行 のセル範囲で、SpecalCells(xlcelltypeblanks).EntireRow を削除すれば、一発でできるかもしれません。
    • good
    • 0
この回答へのお礼

おはようございます。
ご対応をいただきありがとうございます。

お礼日時:2020/12/16 08:06

>>A列の11行目からシートの最終行まで、空白セルがあったら、行削除したいです。



再確認です。
空白セルは飛び飛び状態ですか?最終行まで連続してますか?
    • good
    • 0
この回答へのお礼

連続です。
お忙しい中すみません。

お礼日時:2020/12/15 21:05

>>削除の開始行はデータ量によります。



手がかり(規則)が無ければ出来ません。
削除の開始行をどうやって判断するかです。
    • good
    • 0
この回答へのお礼

何度も申し訳ございません。
例えば
A列の11行目からシートの最終行まで、空白セルがあったら、行削除したいです。

Bセルにデータがあっても行を削除したいんです。

お礼日時:2020/12/15 18:56

シート名:Sheet1 の例



END1 = Worksheets("Sheet1").Range("A65536").End(xlUp).Row
Worksheets("Sheet1").Range("A31:A" & END1).Delete
この回答への補足あり
    • good
    • 0
この回答へのお礼

早速のご返信ありがとうございます。
削除の開始行はデータ量によります。
毎回31行目ではないです。
お手数をおかけいたします。
よろしくお願いします。

お礼日時:2020/12/15 18:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!