
あるホームページに出てくる ○○から××へ などの際に使用される(から記号)が、普通に(から)と打って変換して出てくるもの(~)と微妙に違い、これを普通の~記号に置換したいのですが、できずに困っております。
いちおう質問タイトルの~記号には、私の困るほうを使ってみました。
(質問をアップすると変換されてしまうかもしれませんので、違いについて補足いたします)
●困るほうの~記号の特徴:
セルにペーストすると、普通のものより若干太く見える。
テキストエディタに貼り付けると?(半角ハテナ記号)になる。
VBAのモジュールに貼り付けても上と同じくハテナ。
●使用されている場所:
例えばヤフオクのカテゴリーを下っていき、子ども服のサイズに辿りついたところで、ページ上部あたりにカテゴリー表示されているところ。
すべてのカテゴリ > ファッション > キッズ、ベビーファッション > 子ども服(女の子用) > ボトムス > パンツ、スラックス > 150(145〜154cm
いったいなぜこんな記号が使われているのだろうか・・・とほほ。
すいませんが、どうかよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
あの『~』はUniCode文字ですね。
ExcelのシートはUniCodeに対応しているので貼り付けて
IMEで再変換させると、環境依存文字unicodeと表示されます。
VBAはUniCodeには対応していないので直接は扱えません。
A
1|〜
2| 145〜154cm
3|
VBAではRangeオブジェクトごと渡してしまえば可能です。
msgbox Replace(Range("A2"), Range("A1"), "~")
(A1、A2ともUnicodeの『〜』です)
あるいはワークシート上で関数で
=SUBSTITUTE(A2,"〜","~")
とかでは?
なるほど・・・ソフトの仕組みを知れば、そのような解決策も思いつくわけですね。
ありがとうございます。
Excelと、そのVBAで環境が違うとは、思ったこともなかったです。
ありがとうございました。
No.3
- 回答日時:
こんにちは。
Unicode をJISに変換するなら、以下のような方法で可能です。
置換するのは、これだけでは足らないとは思いますが……。
どこかで話題になったNBSP(no-breaking space) も厄介ですね。これも、「?」になります。
'//
Sub U2JISConvert()
Dim Fname As String
Dim iFno As Integer
Dim buf As String
Dim bufbyt() As Byte
Fname = "Unicode_Txt"
iFno = FreeFile()
Open Fname For Binary Access Read As #iFno
bufbyt = InputB(LOF(iFno), #iFno)
Close #iFno
buf = MidB(bufbyt, 3)
buf = Replace(buf, ChrW(&H301C), ChrW(&HFF5E)) '置換
Debug.Print buf
End Sub
'///
こちらは応用を利かせたもの(と少なくとも私には)感じられました。
こちらを参考に、問題の解決に至るまでできました。
とても助かりました。
ありがとうございました。
No.1
- 回答日時:
多分、添付画像のようなA1とA2の違いだと思いますが、
通常は ○○から××へ などの範囲の指定の際に使われるのは「波ダッシュ」です。
> https://ja.wikipedia.org/wiki/%E6%B3%A2%E3%83%80 …
?(半角ハテナ記号)になってしまうのはそれぞれ元の文字コードが違うからです。
全員が同じOSで入力しているわけではないので、ごちゃ混ぜになっているんですよね。
太字の~をコピペで持ってきたら環境によっては化けるので、あなたが書かれている「(から)と打って変換」に置き換えれば良いのでは?。
または全角入力でShiftキーを押しながら「へ」のキーを押せば出る~で良いと思いますけど。

ありがとうございます。
他から持ってきた情報をVBAで扱う際に、この問題に当たったため、それならばと、今後は自動で書き換えることで問題回避がしたかったのです。
素早いご対応に感謝いたしております。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
全角チルダと波ダッシュに関する問題があるのでチルダや波ダッシュは使わないようにするべきなのでしょうか
その他(コンピューター・テクノロジー)
-
ExcelVBAでのNZ関数について
Visual Basic(VBA)
-
-
4
Visual Studioで ユニコード ~" が0xff5eと解釈されるが0x301cと解釈してもらいたい。"
C言語・C++・C#
-
5
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
6
VBAにて読み込みが出来ない環境依存文字 ㉖ の文字コードを教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
全角英数字とハイフンを半角に...
-
Path型をString型へ変換する(Java)
-
クエリの結果とレコードセット...
-
javascriptで文字列のsjis利用...
-
C言語32bitから64bitの移行につ...
-
String <=> byte配列 の際のエ...
-
【JAVA】CharをByteに変換したい。
-
int型のゼロ埋め
-
javaで質問です。 文字列2023/2...
-
エクセルVBAで「〜」が表現でき...
-
カタカナ変換
-
COBOLで半角カナを全角カナに変換
-
CStringをLPCTSTRへ変換
-
文字列の比較
-
PythonのUnicode文字について
-
オブジェクトの中のプロパティ...
-
IF関数でEmpty値を設定する方法。
-
ダブルクォーテーションを含む...
-
ORA-01858: 数値を指定する箇所...
-
Javaで改行などが出来ないのです。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
javascriptで文字列のsjis利用...
-
Path型をString型へ変換する(Java)
-
ダブルクォーテーションのrepla...
-
エクセルVBAで「〜」が表現でき...
-
C言語32bitから64bitの移行につ...
-
int型のゼロ埋め
-
Visual Basic でのコードをASCI...
-
Windows-31Jからutf-8への変換...
-
substring バイト単位でやりたい
-
カタカナをローマジに変換する。
-
javaの初歩的な質問です。
-
byte配列をImageに変換する
-
phpでの文字コード変換について
-
JavaのStringクラスに「外字」...
-
"\\n"を"<br>"にうまく変換でき...
-
カタカナ変換
-
JAVAでのShift-JISとEUC-JP間の...
-
COBOLで半角カナを全角カナに変換
-
TEXTAREAからのデータを改行入...
おすすめ情報