- ベストアンサー
エクセルの空白の種類?
エクセルで入力フォームを作成し、一覧に登録していくといったツールを作成しています。 その際、フォームから空白欄を選択した場合と、セル上でデータをdeleteした場合に、 空白欄の並び替えの結果が異なってきました。 フォーム:昇順にすると空白欄が上にくる セル上:昇順にすると空白欄が下にくる フォームの選択元は別シートにリストをもっています。 空白行はなにも入っていない行を指定してあります。 なぜdeleteした場合と結果か異なるのでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 長さ0の文字列 とか 空文字 とか呼ばれる 【値】の問題かな? というのが直感です。 見た目は空白セルに見えるけど、実は、 値が "" の文字列セルだったりするのかもしれません。 > 昇順にすると空白欄が上にくる その"空白欄"セルを、数式でチェックしてみましょう。 仮にB2が"空白欄"セルだとして =ISTEXT(B2) これで、TRUE が返されるようでしたら、 そのセルは空白ではなく、文字列のセルだったということです。 その場合、 仮にVBAフォームを用いた処理上のことでしたら、 .Value = "" のような値設定を ,Value = Empty と書き換える、 などの対処で解決できます。 それ以外でも 当該セルの表示形式を"文字列"以外に変更すれば よろしいかと。 ただ、 "空白欄"というのが 実は、 =IF(条件,"文字列","") のような数式を適用したものだったりすると(違うと思いますが一応)、 それは、また特別な対応になります。 いずれにして、その"ツール"で適切な対応は可能だとおもいます。 もしこのレスが的外れでしたら、も少し具体的な内容を示した方が解決に近づくと思います。
お礼
valueをemptyにすればよいのですね!! うまくいきました。何時間もこれで悩んでいたのですが、おかげで解決できました。 ありがとうございます!!!