• ベストアンサー

EXCEL VBA "TRIM"

全角スペースは削除できるのですが、半角スペースが削除できません。デバッグで値を確かめると、半角スペースの部分が、"?"で表記されています。

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

  • ベストアンサー
  • kee
  • ベストアンサー率13% (63/457)
回答No.1

それって、本当にスペースなんですか? 16進表示できる関数でみてみましたか?

raly-raly
質問者

お礼

アドバイスありがとうございました。 確かにスペースではありませんでした。 もともとhtmlの表をExcelにコピーしたもので、表の中のスペース"&nbsp"が" ?"に変化していました。 気づいたのは、Excelの内容を秀丸にコピーし、スペースの部分を選択、検索/置換ボックスで" ?"が表示されていたからです。ただしそのまま" ?"を秀丸で置換は不可で、逆にExcelでは" ?"を検索文字列として、置換ができました。

関連するQ&A

  • =code(" ") で値が160となる文字をEXCEL VBAで消したい

    EXCEL2002です。 あるセルに半角スペースを入力し、マクロで Cells.Replace Chr(&H20), "" と走らせるときれいに消えてくれます。ちなみにこの半角スペースを=code(" ")で調べると値は32となります。 同じやり方で=code(" ")で調べると160の値となる文字があります。これはスペースのようですが、半角でも全角のスペースでもないようです。 この文字をVBAの上記の方法で消したい場合にCells.Replace Chr(xxxx), "" ←xxxxの部分は何といれたらよいのでしょうか?

  • VBAで( )のものだけ(   )に変更したい

    お世話になります。 現在エクセルの複数のセルに( )空白のスペースが入った()があります。 ※()の中は半角・全角のスペースが中身が半角・全角のスペースの数がさまざまな形で入っています。 ()の中に入っているのは半角・全角のスペースがはいている()のみ( )※全角スペース3個 のものに変換したいのです。 しかしながら、他のセルに(2222)などの()の間に数字や文字が入っているものがあり、それに対しては、そのままにしたいのです。 エクセルのVBAで実現したいのですが、どのようにすればよいでしょうか? 何卒よろしくお願いします。

  • エクセルで、【スペース除き】【半角⇒全角へ】

    タイトルの件、質問します。 A1セルに、下記のように、全角と半角の文字数字及び、スペースが入っています。 これを ・全角のみ ・半角文字、半角スペース 削除 を出来ないでしょうか? あいうえお12345 アイウエオ 12345

  • エクセル TRIM関数について

    エクセル TRIM関数について 何度トライしてもダメだったのでご回答お願いします。 Vlookupでデータを引っ張ってきたかったのですが、 検索値の末尾に半角スペースが入っているため エラー表示なってしまいます。 TRIM関数を使用してスペースを取り除こうとしたのですが、 どうしても半角スペースが消えません。 何か方法がありましたら教えてください。 宜しくお願いします。

  • (VBA)Trimでエラーが発生するのは ?

    不要な空白(半角、全角)を削除して  テキストに書き出すマクロを作成しましたが下記のコードでエラーが出ます。  原因は何でしょうか ? Cells(I, "A").Value = Trim(Cells(I, "A").Value) I=2の時 エラー 1004 「アプリケーション定義またはオブジェクト定義のエラーです。」 ----------------------------------------------------- Option Explicit '空白は半角・全角ともに削除。 '空白が複数あった場合でもすべて削除。 '文字列間の空白は削除されない。 Sub Delete_Space_With_Save_Text() Dim I As Long Dim EndLow As Long EndLow = Cells(Rows.Count, "A").End(xlUp).Row 'ファイルを書き込みで開く(無ければ新規作成、あれば上書き) Open "C:\Users\Nobu\Desktop\My_text.txt" For Output As #1 For I = 1 To EndLow 'Cells(I, "B").Value = Len(Cells(I, "A").Value) Cells(I, "A").Value = Trim(Cells(I, "A").Value) 'MsgBox I & ": " & Cells(I, "A").Value Print #1, Cells(I, "A").Value Next '開いたファイルを閉じる Close #1 '終わったのが分かるようにメッセージを出す MsgBox "完了!" End Sub

  • エクセルで左端のスペースを削除したいです。

    こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に人名の文字列があります。左端に半角のスペース、文字列の中に全角のスペース、右端にスペースはありません。文字の個数は人名のため様々です。 ここで、左端の半角スペースだけを削除したいのです。 Ltrim関数というのが当てはまるのでしょうか。 半角スペースの削除の方法を教えてください。

  • ExcelのVBAでカタカナをチェックしたい

    ExcelのVBAで、あるセルの値が半角カタカナであった場合エラーとしたいのですが、 セルの値が半角カタカナという条件式の構文がわかりません。 困っています。どなたかお助けくださいませ! また、できることならば、半角カタカナ→全角カタカナに自動修正させたいのですが、 無理ならば上記のエラーチェックだけでもよいです。 もし、こちらもおわかりになる方いらっしゃいましたら教えてください。よろしくお願いいたします。

  • Excel2010英数字のみ半角にする方法

    タイトルのほかにも条件があるのですが、Excel2010で、表示結果に条件があります。 既存に入力されているものなんですが、条件は以下の通りです。 条件1:漢字あるいは、ひらがなはそのまま 条件2:全角カタカナは全角カタカナ 条件3:半角カタカナは全角カタカナ 条件4:全角英数字は半角英数字 条件5:半角英数字は半角英数字 条件6:全角スペースは全角スペース 条件7:半角スペースは全角スペース 条件8:スペースが連続している場合は全角スペース1つのみ 例としては(左側が既存、右側が表示結果)、 全角あいうえお→全角あいうえお 全角アイウエオ→全角アイウエオ 半角アイウエオ→半角アイウエオ 全角110→全角110 半角アイウエオ全角110→半角アイウエオ全角110 半角アイウエオ□全角110→半角アイウエオ□全角110 半角アイウエオ□□全角110→半角アイウエオ□全角110 半角アイウエオ△□全角110→半角アイウエオ□全角110 半角アイウエオ△全角110→半角アイウエオ□全角110 半角アイウエオ△△全角110→半角アイウエオ□全角110 半角アイウエオ△△△全角110→半角アイウエオ□全角110 ※「□」は全角スペース、「△」は半角スペースです。分かりやすいように表記してみました。「□」または「△」が複数ある場合、スペースの個数です。 既存の入力されている列は「AE列」です。関数を入力できるのは「AR列」以降です。 関数について詳しくないため、あまり長いお礼はできませんが、回答よろしくお願いします。

  • エクセル:文字列のバイト数が欲しい

    セルB1に、  半角スペース、全角2文字、半角スペース、 と入力しました。 このシートの別のセルに、 =Len(B1)と入力すると4と表示され、 =LenB(B1)と入力すると6と表示されますので、 間違いなく「半角スペース・全角2文字・半角スペース」がB1に入っているはずです。 このシートのコードに、 Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Address = "$L$1" Then     MsgBox LenB(Cells(1, 2).Value)   End If End Sub と打ちました。 ここでシート上のセルL1に何か入力するとメッセージボックスが出るのですが、 メッセージボックスに出る値は8です。 何が原因でしょうか。 6が表示されて欲しいのですが(文字列のバイト数が欲しい)、 どのようにコードを書けばよいでしょうか。 実際にB1に入れていた文字は、 1B です。 (半角スペース・全角数字1・全角英字B・半角スペース)

  • エクセルで半角や全角スペースを自動改行したい。先ほどの質問と同様です。

    エクセルで半角や全角スペースを自動で改行するにはどのようにすればいいのでしょうか? 例えば、全角や半角のスペースを改行したい場合、 日本 アメリカ(全角スペース) 山田 太郎(半角スペース) などを 日本 アメリカ 山田 太郎 のように改行したいです。 よろしくお願いします。

専門家に質問してみよう