Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


40204 / 76732 ←次へ | 前へ→

【41629】Re:ソート(オートフィルター)について
回答  かみちゃん E-MAIL  - 06/8/17(木) 12:50 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>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

0 hits

【41609】ソート(オートフィルター)について ToShiYo 06/8/17(木) 4:35 質問
【41610】Re:ソート(オートフィルター)について かみちゃん 06/8/17(木) 6:33 回答
【41611】Re:ソート(オートフィルター)について ToShiYo 06/8/17(木) 8:49 質問
【41629】Re:ソート(オートフィルター)について かみちゃん 06/8/17(木) 12:50 回答
【41631】Re:ソート(オートフィルター)について ToShiYo 06/8/17(木) 15:25 質問

40204 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free