• 締切済み

Excel2003でセル内の空白を置換以外の方法で消す方法を教えてください。

Excel2003で、セル内の空白を削除しようとしています。 置換で空白を消そうとすると、置換後のセル内の文字数が911を超えているので、「数式が長すぎます」というメッセージが出て置換ができません。 方法が分からないので、手でひとつひとつセルの中の空白部分を削除しているのですが、まとめて消す方法はありますでしょうか? よろしくお願いいたします。

みんなの回答

noname#31387
noname#31387
回答No.4

No.2です >置換後のセル内の文字数が911を超えているので、 すいません。 見逃していました。無視してください。

ittokutoku
質問者

お礼

了解いたしました。 お礼が遅くなり申し分けございません。 ご回答、ありがとうございましたm(__)m

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

No.1です。全角空白も削除したいのであれば、以下のようにしてください。 Sub DeleteSpaces()  Dim R As Range  For Each R In Selection   R.Value = Replace(Replace(R.Value, " ", ""), " ", "")  Next End Sub なお、No.2の方のやり方は私も最初に試したのですが、1セルに1000文字を越すデータで試すと、質問文と同じ「数式が長すぎます」というエラーが出て動きませんでした。

ittokutoku
質問者

お礼

お礼が遅くなり申し訳ございません。 おかげさまで空白削除に成功しました。 ありがとうございましたm(__)m

noname#31387
noname#31387
回答No.2

セルの範囲が決まっているのなら セルの範囲だけReplaceすればいいと思います。 Sub TEST() Dim myRng As Range Set myRng = Selection myRng.Replace What:=" ", Replacement:="", Matchbyte:=False End Sub 参考までに Matchbyte:=Falseは、全角・半角の区別はしません。 Matchbyte:=Trueとすると、全角・半角の区別をします。  (Excelヘルプより)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

本当ですね、セル内の文字数が長すぎると置換できないとは、はじめて知りました。 半角空白を削除するマクロです。Alt+F11でVBAの画面を開き、左側のツリーからブック名を選択し、右クリックから「挿入」>「標準モジュール」を選択して、右の画面に以下のマクロをコピーして貼り付けてください。 Sub 空白を削除()  Dim R As Range  For Each R In Selection   R.Value = Replace(R.Value, " ", "")  Next End Sub Alt+F11でExcelの画面に戻って、空白を削除したいセル範囲を選択し、Alt+F8からマクロを実行してみてください。

ittokutoku
質問者

お礼

ありがとうございます。 データが会社にあるため、明日ためしてみます! ちなみに、全角と半角の両方のスペースを一度に消すにはどうすればよいのかも教えていただけますでしょうか? お手数ですがよろしくお願いいたします。

関連するQ&A

専門家に質問してみよう