■動機
VBAでは「?」となって扱えない空白や文字を何とかしたい。

■状況
WEBから読み込んだ文字がエクセルVBAで扱えない。
下の「」内は、VBAではいずれも
「?」になってしまう。
「〜」   ←VBAにコピペすると?になります。
「 」    ←ここでは正しいようですがWEB取込では?です。

 

この空白はReplaceやTrimを使っても削除できません。空白のように見えても空白ではないようです。このままではこれらを区別することすらできません。

■解決策
下記の1)→2)を順に行う。

1) ASCW関数で文字コードが何かを調べる。
字Code=AscW(対象字)

2)文字コードで、変換したい字にReplaceする。
Replace(対象字, ChrW(字Code), "変換字")


■実例
「〜」→ Replace(Str, ChrW(12316), "~")
「 」→ Replace(Str, ChrW(160), "") '削除する場合


■感想
同じサイトでもページにより文字種が違ったりする。
下記のサイトに助けられました。
https://vba-create.jp/vba-ie-error-nbsp/