• ベストアンサー

【Excel】空白行を削除するマクロ

Excel2003を使用しています。 マクロについて教えてください。 あるマクロを実行してできた表に、さらにマクロを実行して 例えばD:Dで空欄があったら、その行は削除するといったマクロを 作りたいのですが、どのようにしたらいいでしょうか? マクロ初心者で参考書を片手に頑張りましたが なかなかうまくいかず。。。(*_*) よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 こんな風かな? Sub BlankCellRowsDelete()  Dim r As Range  On Error Resume Next  Set r = Range("D1", Range("D65536").End(xlUp)).SpecialCells(xlCellTypeBlanks)  If Err.Number > 0 Then Exit Sub  On Error GoTo 0  r.EntireRow.Delete End Sub なお、D:D としなかったのは、Dの最後尾よりも、他の列のセルの最後尾のほうが後ろにあると、その間の行も含まるようなので、やめました。

rx-z5815
質問者

お礼

いつもありがとうございます。 Dの最後尾よりも、他の列のセルの最後尾のほうが後ろにあることも ありえますね。参考になりました。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

こんな感じではどうでしょうか。 Sub Macro2() Dim LastR, idxR As Long  LastR = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row  For idxR = LastR To 1 Step -1   If Application.CountA(Rows(idxR)) = 0 Then    Rows(idxR).Delete   End If  Next idxR End Sub

rx-z5815
質問者

お礼

お礼が遅くなり申し訳ありません。 回答ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.3

以下の操作ステップを、マクロ自動記録してみたらいかがでしょうか。 1.まず、D:Dを選択。 2.次に、[編集]-[ジャンプ]-[セル選択] で空白セルにチェックして[OK]。 3.最後に、[編集]-[削除] で「行全体」を指定して[OK]。

rx-z5815
質問者

お礼

マクロを記録する方法もありましたね。 作ることばかり考えていました。 試してみます。ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.2

即興で作ってみましたが、こんなのどうでしょう? Sub Macro1() Dim r, c As Long Dim i, t As Long Dim flg As Boolean '画面のちらつきを押さえる為 Application.ScreenUpdating = False 'シート内の使用されている範囲を取得 r = ActiveSheet.UsedRange.Rows.Count c = ActiveSheet.UsedRange.Columns.Count '下から上へ行ごとのループ For i = r To 1 Step -1 '左から右へ列ごとのループ flg = True For t = 1 To c If (Not IsEmpty(ActiveSheet.Cells(i, t).Value)) Then 'セルに値が入っていれば削除フラグを立てずにループを抜ける flg = False Exit For End If Next t '列ごとのループを抜けてもフラグが立ったままであれば空白行なので削除 If (flg) Then ActiveSheet.Rows(i).Delete Shift:=xlUp End If Next i '画面の更新を有効に戻す Application.ScreenUpdating = True End Sub ポイントは行のループは下から上へ遷移することです。 なぜなら行を削除すると行がずれる(上に1段上がる)からです。 Excel2000でしか試していないので2003で動くかどうか・・・^^;

rx-z5815
質問者

お礼

即興でこれだけのものが作れるなんてすごいですね! せっかく作っていただきましたので、Excel2003でも試してみます。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

私もマクロに関しては、超初心者なので以下のサイトを参照して下さい。

参考URL:
http://www2.odn.ne.jp/excel/waza/
rx-z5815
質問者

お礼

便利なサイトを教えていただき助かりました。 今後も活用させていただきます。 ありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A