[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『文字列の確認』(ぴょん)
とあるデータをコピーペーストして、エクセルで処理しているのですが
そのときに張り付けたデータの 「02:預り」 というデータと
打ち込んで作った 「02:預り」 がEXACT関数で調べると一致しません。
置換する時はxlPartで一部変換でどうにかなったのですが
Select Case文を使う時に認識しなくて困っています。
TRIM関数やJIS関数を使ってみたのですが同じで、空白らしいのも見当たりません
ただ、LEN関数を使うと張り付けたものは 「6」 で、打ち込んだものは 「5」 となっているため、何かしらの文字が入っているとは思うのですがそれもわからないのです
LEFT関数で左から3つをとってくると張り付けたものは 「02」 で打ち込んだものは
「02:」 なため、先頭に何かあると思うのですが取り除く、もしくは何があるか確認する方法はないでしょうか?
< 使用 Excel:Excel2013、使用 OS:Windows7 >
CLEAN関数で処理すると桁数はかわりますか?
(β) 2015/03/24(火) 12:48
Sub test() Dim i As Long Dim cw As String
cw = Range("A1")
For i = 1 To Len(cw) Debug.Print Hex(Asc(Mid(cw, i, 1))) & " "; Next i End Sub (???) 2015/03/24(火) 12:53
1F 30 32 3A 9761 82E8
1F が先頭の文字だとは思うのですがこれは改行コードなのでしょうか?
あともし改行コードならマクロで置換して空白に変える場合はどうするのでしょうか?
vbLfとvbCrLfを試したのですがうまくいきませんでした
(ぴょん) 2015/03/24(火) 14:06
変換だけなら
その文字列 = WorksheetFunction.Clean(その文字列)
これでOKだと思います。
(β) 2015/03/24(火) 14:22
文字コード体系が違うものから貼り付けているとか、何か問題がありそうです。
(また新しいデータを貼り付けると、再発するという事)
元データを提供している部署に、問い合わせられないでしょうか。
Clean以外にも、処理する際に、以下のように消してしまう方法もあります。
Range("B1") = Replace(Range("A1"), Chr(&H1F), "") (???) 2015/03/24(火) 14:26
>Replaceで置換しようとしてましたけど、素直にCleanで別セルに移したほうが早そうですね・・・
VBA で直接変換できると思いますが?
(β) 2015/03/24(火) 16:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.