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

解決済みの質問

Excelの空文字セルの削除方法を教えてください

別のシートでIf文を使い計算しています。
=IF(条件式,"",表示文字)
計算した結果をシートに値のみで貼り付けをしています。

Ctrl + 矢印で値が表示されているセルへ飛ぼうとしても空白のセルが値が入っていると認識され表示されているセルへ飛べません。

手動で一つ一つ空文字を削除すると表示されているセルへ飛ぶことが出来ます。

自動で空文字を削除するにはどうしたらいいのでしょうか?

Excelは2000を使用しています。

投稿日時 - 2010-11-10 16:22:18

QNo.6310133

WDY

暇なときに回答ください

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

「長さ 0 の文字列」 ですね。
こいつはほんと厄介です。
対応には、Excel の標準の機能である、「検索と置換」 を使用しますが、一度では終わりません。
最初に 全く何入力されていないセルも含めて、空白に見えるセルを特定の文字列に置換します。
次に 「特定の文字列」を空白に置換します。

手順は以下の通り。

まず、対象範囲を選択します。

1.空白に見えるセルを 「削除予定」 の文字列に置換
メニューバーから、「編集」-「置換」 を選択し、「検索と置換」 ボックスを表示します。
「置換」 タブの、「検索する文字列」 欄の中をからにして、 「Delete」 を押します。
「検索する文字列」 欄にはそのまま何も入力せずに、その下の 「置換後の文字列」 欄に、「削除予定」 と入力し、「全て置換」 を押します。
別に、「削除予定」 で無くても構いません。 そのワークシートに 絶対存在しない単語 であれば何でも OK です。

2.「削除予定」 の文字列を空白に置換
再度、メニューバーから、「編集」-「置換」 を選択し、「検索と置換」 ボックスを表示します。
今度は、「検索する文字列」 欄に、「削除予定」 の文字列を入力します。
もし、1回目の処理で、「削除予定」 以外の文字列に置換していた場合は、そこで使用した文字列を入力してください。
その下の、「置換後の文字列」 欄の中をからにして、 「Delete」 を押します。
「セル内容が完全に同一であるものを検索する」 にチェックを入れてから、「全て置換」 ボタンを押します。

これで消えるはずです。

投稿日時 - 2010-11-10 16:54:51

お礼

なるほど一度使用していない文字に変換して再度置き換えるんですね。
であれば別シートで計算しているIF文に置換え用文字列を入れておいた方が
置換えの手間が1つ減りますね。

ありがとうございます。

投稿日時 - 2010-11-11 08:30:21

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

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

回答(6)

ANo.6

VBA勉強がてら挑戦してみました。
tom04さんとxls88さんのいいとこどりで、数式を入力した後でも対応できるように

Sub test3()
    ActiveSheet.UsedRange.Formula = ActiveSheet.UsedRange.Formula
End Sub

ただし、配列数式の確定をしている場合(数式が{ }で囲まれている)
Sub 配列数式の確定をしている場合はこちら()
   Dim c As Range
   For Each c In ActiveSheet.UsedRange
      If c.Formula = "" Then
         c.ClearContents
      End If
   Next c
End Sub

投稿日時 - 2010-11-10 23:17:27

ANo.5

VBAの例です。
下記コードを試してください。

対象セル範囲を選択しておいて
With Selection
.Value = .Value
End With

対象セル範囲を記述するなら
With Range("A1:A50")
.Value = .Value
End With

投稿日時 - 2010-11-10 19:10:13

ANo.4

こんばんは!
VBAでの方法になってしまいますが・・・

形式を選択して貼り付けたSheet見出し上で右クリック → コードの表示 → 白い画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。

Sub test()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If c = "" Then
c.ClearContents
End If
Next c
End Sub

これで何とか希望に近い形にならないでしょうか?
以上、参考になれば良いのですが・・・m(__)m

投稿日時 - 2010-11-10 19:03:32

お礼

書き込みありがとうございます。
VBAですか
繰返し空文字を削除を行うのもいいのですが
指定箇所を消すだけでVBAを使う事もないと考えてました。

毎回使うし・・・う~ん
自分以外の人が使う場合、VBAが分からない人がいるので今回はmerlionXXさんの方法を取ってみたいと思います。

投稿日時 - 2010-11-11 08:53:09

ANo.3

空白文字列を空白セルに一括変換するなら、その列を選択して「データ」「区切り位置」で「完了」してください。

投稿日時 - 2010-11-10 17:29:38

お礼

なんと!こんな方法があったとは

今回の場合は複数列ある為、この方法だと数回繰返し行わなくてはならなくなります。

前提条件が不足していて申し訳ございません。

勉強になりました、次回1列のみの場合はこの方法をとってみたいと思います。

投稿日時 - 2010-11-11 08:38:16

F5でジャンプ画面が出るので、「セル選択」をクリック。
「空白セル」、OKで、空白セルが選択されます。「削除」

F5→Alt+S→K→エンター。の順で、どうでしょう。

投稿日時 - 2010-11-10 16:47:14

お礼

書き込みありがとうございます。

さっそく試してみましたが
空白では認識しませんでした。
おそらく空文字として認識されています。

投稿日時 - 2010-11-10 16:56:08

あなたにオススメの質問