|
こんにちは。かみちゃん です。
>AAAにのみ(製造)1とAAA1になるのでしょうか?
>BBBのようにBBB0とBBB1のように表示されないのでしょう。
If Right(c.Value, 4) = "(製造)" Then
のコードでセルの値の末尾に"0"をつけるか"1"をつけるかを判断しています。
つまり、セルの値の末尾4文字が"(製造)"であれば、"(製造)"の文字を""に置き換
えて(結果的に削除して)その後ろに"0"をつけます。
一方、セルの値の末尾4文字が"(製造)"でなければ、その後ろに"1"をつけます。
ただし、末尾が"(製造)"に見えても、"(製造) "のようにスペースが1文字でもあ
れば、コードは、末尾4文字は、"(製造)"ではなく"製造) "であると判断し、
そのまま末尾に"1"をつけます。
したがって、今回の場合は、"(製造)1"となるのではなく、"(製造) 1"などと間に
スペースなど入っていないか確認していただき、元のデータが直せるならば修正
してください。
なお、元データを修正できない場合は、RTrim関数を使って、末尾スペースを除く
ことはできます。
Sub Test()
Dim a As String
a = " AAAA "
MsgBox "[" & a & "] " & Len(a)
MsgBox "[" & RTrim(a) & "] " & Len(RTrim(a))
MsgBox "[" & LTrim(a) & "] " & Len(LTrim(a))
MsgBox "[" & Trim(a) & "] " & Len(Trim(a))
End Sub
|
|