• 締切済み

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

  • excel2003の置換について質問です。セル内の一部の文字を置換する

    excel2003の置換について質問です。セル内の一部の文字を置換する方法を教えてください。EX ○○します→○○する(同一セルの中の”します”の部分のみ”する”に換えたい) 数式ではない方法を教えてください。

  • スプレッドシートで空白セルに文字を置換で入れたい

    googleスプレッドシートでシート内の空白のセルにだけ”OK”という文字を入力したいです。 ”検索と置換”機能で、空白のセルを見つけてそこに”OK”と置換する方法を教えていただきますよう、よろしくお願い致します。

  • 置換で空白のセルを選択

    基本的なことだと思いますが、すみません。 置換するときに、空白のセルを全部選択して、そこにある文字列を入れたいのですが、 空白のセルはどうやって選択すればよいのですか?よろしくお願いします。

  • 空白セルを文字に置換するには

    空白セルに文字(例えば半角大文字A)を置換するにはどうしたらよいでしょうか。教えてください。

  • "0"だけを空白で返すには?

    Excel2000を使用しています。VBAである文字列データ(数値)を必要な長さに分割してシートの1行目から順にセルに貼り付けています。 例)要素数が20個ならA1セルからA20セルまでに その際数値が”0”の時は空白に置換して貼り付けているのですが、「10.3」や「50.6」などの”0”までなくなってしまい、セルに貼り付けた際「1.3」や「5.6」になってしまいます。 純粋に”0”だけ空白に(置換)してセルに貼り付けるにはどうすればいいのでしょうか?教えてください。

  • Excel2019の文字置換による空白文字の削除

    テキストファイルの数字データをExcelにコピーして貼り付けたいです。その際、元のデータに含まれる数字中の空白文字を削除したいのですが、文字置換で空白文字を除去しようとしてもできません。 置換ボタンを押すと、「一致するデータが見つかりません」となり、すべて置換ボタンを押すと、「置換対象が見つかりません。検索方法については[オプション]をクリックしてください。置換しようとしているデータが保護されたシートにある可能性があります。保護されたシートのデータは置換できません。」と言われます。 ちなみに、全く同じ数字のデータをエクセルのセルに直接手入力すると置換されます。また、テキストファイル内の(Windowsのメモ帳)元データの下に、手入力で全く同じ数字を追加してからエクセルに一括で貼り付け&置換とやっても、手入力のものだけが置換されるのです。試しに、元データ中の数字データ1個を、元データファイル内にコピー&ペーストした後、さらにエクセルに貼り付けてみたところ、これは置換されませんでした。 全く同じデータのはずなのに、なぜ手入力のものしか置換されないのか分かりません。 ちなみに、データの内容は、「98 080.21」とか「73 532.98 」というような数字です。 テキストファイルのデータの方をどうにかしたらよいのでしょうか。何か方法があったら教えてください。

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

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

  • 置換演算子を使うと空白が入ってしまう

    $test = abcdef; $test =~ s/abc//g; 上記の様に置換演算子を使って文字列の削除を行うと、 「 def」の様に、削除した文字列に半角空白が入ってしまいます。 1回や2回ならよいのですが、何回も処理を行うと、 最終的に大量の空白が挿入されてしまい、大変困っています。 なんとか削除した部分に空白を挿入しない方法はないものでしょうか? 解決法がわかる方がいらっしゃいましたら、御教授頂きたく、 よろしくお願いします。

    • ベストアンサー
    • CGI
  • Excel/『15:00 』という時間/空白/削除/

    Excel/『15:00 』という時間/空白/削除/ Excelで『15:00 』と最後に空白が入っています。 Webからコピーしたもので貼り付けると空白があるため時間と認識されていません。 TRIM関数をしようしても出来ず。 置換をしようとしても検知されませんでしたとエラーが出ます。 セルの書式設定で時間の関係に設定しようとしても出来ません。 手動で削除すると、ユーザー設定のh:mmとなります。 かなりの数があるので手間なく作業したいと思っています。 ご教授お願いいたします。

  • セルの空白について

    質問失礼します。 エクセルで数式などを使い表示しているデータをコピーして。 条件付貼り付けで数値だけを取り出しました。 ここまではよかったのですが、新しく数値だけを取り出したデータに、新規に数式をあてはめようとしたら、空白のセルを認識せずエラーがでてしまいます。 適応させたい数式の関係する空白のセルに、マウスをあわせて、一度Deleteやバックスペースなどを押すと、空白セルとして認識してくれます。 現在の数式で認識しない空白セルを、数式で認識できる空白セルに置き換える方法などあるでしょうか?または、認識しない空白セルを認識させる方法はあるでしょうか? データの提出期限もせまっており焦っております。 どなたか教えてください。よろしくお願いします。

専門家に質問してみよう