Excel VBA質問箱 IV

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

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


3315 / 13645 ツリー ←次へ | 前へ→

【62946】置換の文字位置指定について ぴの 09/9/25(金) 11:28 質問[未読]
【62947】Re:置換の文字位置指定について kanabun 09/9/25(金) 11:54 発言[未読]
【62952】Re:置換の文字位置指定について ぴの 09/9/25(金) 15:12 お礼[未読]

【62946】置換の文字位置指定について
質問  ぴの  - 09/9/25(金) 11:28 -

引用なし
パスワード
   末尾に"-A"がついている時だけ"-A"を削除するようにしたいのですが、
例えば、
Replace What:="*-A", Replacement:="", LookAt:=xlPart, _
   SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
   ReplaceFormat:=False
とすると、"ABCDE-ABCDE-A"という値があると置換後は空白になってしまいます。
Replace What:="*-A",の"*-A"をアスタリスクを取って
"-A"にすると"ABCDE-ABCDE-A"は"ABCDEBCDE"となります。
末尾の"-A"だけを取る場合どうすれば良いのでしょうか?
宜しくお願いいたします。

【62947】Re:置換の文字位置指定について
発言  kanabun  - 09/9/25(金) 11:54 -

引用なし
パスワード
   ▼ぴの さん:

>末尾の"-A"だけを取る場合どうすれば良いのでしょうか?

こんにちは。
正規表現を使ってみたらどうでしょう

  Dim r As Range
  Dim c As Range
  
  Set r = Range("A1:A10")
  With CreateObject("VBScript.RegExp")
    .Pattern = "-A$"         '--- お尻の「-A」を検索
    For Each c In r
      c.Value = .Replace(c.Value, "")
    Next
  End With

【62952】Re:置換の文字位置指定について
お礼  ぴの  - 09/9/25(金) 15:12 -

引用なし
パスワード
   ▼kanabun さん:

早々の返答有り難うございます。
無事思い通りに動かすことができました。

有り難うございました。

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