こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel2010の空白セルのある行の削除方法

Excel2010を使っております。
2列以上の多数の行からなるデータに、空白のセルがあちこちに散在している状態で、
”検索と選択"→"ジャンプ"→"セル選択"で空白セルを指定して、行のみ削除をすると、いずれかの列が空白である行がOR条件で削除されてしまいます。
全部の列が空白(AND条件)の行のみを削除する方法を教えてください。(画像を添付いたします)
宜しくお願いいたします。

投稿日時 - 2013-06-26 13:57:32

QNo.8150575

困ってます

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

こんにちは!
VBAになってしまいますが、一例です。
画像ではA・B列だけですが、
>2列以上の多数の行からなるデータに、空白のセルがあちこちに散在している状態で・・・
とありますので、行すべてを対象としています。
(その行にデータがなければ・・・という解釈です)

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub 行削除() 'この行から
Dim i As Long
Application.ScreenUpdating = False
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub 'この行まで

※ 数式などによって「空白にみえる」セルは、当然空白ではありませんので、その行は残ります。

こんなんではどうでしょうか?m(_ _)m

投稿日時 - 2013-06-26 14:44:54

お礼

御教示いただいたマクロを実行してみました。期待通り詰まりました。ありがとうございました。

投稿日時 - 2013-06-27 10:48:48

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

A列とB列がともに空白(=いずれか一方が空白ではない)セルだけをデータの並び順を変更せずに詰めて表示したいなら、数式を使ったフィルタオプションの設定の機能を利用するのが簡単です。

例えば空白列の2行目(例:E2セル)に「=OR(A2<>"",B2<>"")」と検索条件を入力しておきます。

「データ」「詳細設定」でリスト範囲をA列とB列全体の「$A:$B」、検索条件範囲を「$E$1:$E$2」(E1は空白セル)としてOKしてみてください。

別のセルにデータを抽出したいなら、「抽出先」を「指定した範囲」にして、例えばG1セルを指定するか、このフィルタされたデータをコピー貼り付けすればA,B列に空白セルのないリストが得られます。

投稿日時 - 2013-06-26 22:33:37

お礼

ありがとうございました。このフィルタオプションの使い方は便利です。

投稿日時 - 2013-06-27 10:41:09

その2列にオートフィルタをつけて、両方の列で空白セルを抽出すればいいかと。

投稿日時 - 2013-06-26 17:47:40

ANo.4

A列とB列にデータが空白セルを含めて点在するとします。
最初にA列とB列を選択します。
次に「ホーム」タブの「並べ替えとフィルター」から「ユーザー設定の並べ替え」を選択します。
表示の画面で「レベルのコピー」をクリックします。
「最優先されるキー」に加えて「次に優先されるキー」が表示されます。
例えば「最優先されるキー」の窓で「A列」を、「次に優先されるキー」の窓で「B列」を選択し、「昇順」のままでOKします。
空白行が無い形で表が完成します。

投稿日時 - 2013-06-26 15:01:21

お礼

御知恵をいただきありがとうございます。こんな使い方がるとは知りませんでした。

投稿日時 - 2013-06-27 10:46:55

削除に「上方向にシフト」という項目があるはずですのでそれを選択し、削除するとご希望の結果になるかと思います。
私は2007ですが、下記の画像のような表示されます。

投稿日時 - 2013-06-26 14:22:25

ANo.1

1.使用していない列に、「=A1&B1&C1・・・・」(もしくはA列を挿入してB1&C1&・・・)
2.一番下まで数式をコピー
3.フィルター設定をして、数式を指定した列で、空白だけ表示
4.表示された行を削除

使用していない列に、その行の文字をすべて連結して表示
表示がない=その行に記載されている文字が無い=削除対象

投稿日時 - 2013-06-26 14:11:42

お礼

早速回答くださり、ありがとうございます。なるほど。助かりました。

投稿日時 - 2013-06-26 14:36:32

あなたにオススメの質問