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