• ベストアンサー

エクセルの空白の種類?

エクセルで入力フォームを作成し、一覧に登録していくといったツールを作成しています。 その際、フォームから空白欄を選択した場合と、セル上でデータをdeleteした場合に、 空白欄の並び替えの結果が異なってきました。 フォーム:昇順にすると空白欄が上にくる セル上:昇順にすると空白欄が下にくる フォームの選択元は別シートにリストをもっています。 空白行はなにも入っていない行を指定してあります。 なぜdeleteした場合と結果か異なるのでしょうか。

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

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.1

こんにちは 長さ0の文字列 とか 空文字 とか呼ばれる 【値】の問題かな? というのが直感です。 見た目は空白セルに見えるけど、実は、 値が "" の文字列セルだったりするのかもしれません。 > 昇順にすると空白欄が上にくる その"空白欄"セルを、数式でチェックしてみましょう。 仮にB2が"空白欄"セルだとして  =ISTEXT(B2) これで、TRUE が返されるようでしたら、 そのセルは空白ではなく、文字列のセルだったということです。 その場合、 仮にVBAフォームを用いた処理上のことでしたら、  .Value = "" のような値設定を  ,Value = Empty と書き換える、 などの対処で解決できます。 それ以外でも 当該セルの表示形式を"文字列"以外に変更すれば よろしいかと。 ただ、 "空白欄"というのが 実は、  =IF(条件,"文字列","") のような数式を適用したものだったりすると(違うと思いますが一応)、 それは、また特別な対応になります。 いずれにして、その"ツール"で適切な対応は可能だとおもいます。 もしこのレスが的外れでしたら、も少し具体的な内容を示した方が解決に近づくと思います。

yumimichan
質問者

お礼

valueをemptyにすればよいのですね!! うまくいきました。何時間もこれで悩んでいたのですが、おかげで解決できました。 ありがとうございます!!!

関連するQ&A

専門家に質問してみよう