Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
”もし文字列の末尾が〇なら〇を末尾に追加する”について
投稿日時: 21/11/04 16:53:24
投稿者: youkey14

お世話になります。
 
セル内の最後の文字が
"S"であった場合
"M"であった場合
"L"であった場合
"XL"であった場合
"2L"であった場合
 
末尾に"サイズ"を追加したいです。
自分なりにコードを入力してみたのですが、
イメージ通りに動いてくれません。
 
コードの確認をお願いできませんでしょうか。
 
※下記のコードですと、〇を含んだ文字列になっており、
最後の文字を指定できていません。
 

Sub サイズ追加()

Dim i As Long
Dim c As Long
Dim findWrd As String
Dim lastRow As Long

c = Range("K2").Column
findWrd = "S"
lastRow = Cells(Rows.Count, c).End(xlUp).row

For i = 1 To lastRow
If InStr(Cells(i, c), findWrd) > 0 Then
Cells(i, c) = Cells(i, c) & "サイズ"
End If
Next i

End Sub

回答
投稿日時: 21/11/04 17:19:43
投稿者: QooApp

これでうごきませんか?
 
 
For i = 1 To lastRow
 If(Right(Cells(i, c).value , Len(findWrd)) = findWrd) Then
  Cells(i, c).value = Cells(i, c).value & "サイズ"
 End If
Next i

回答
投稿日時: 21/11/04 17:28:43
投稿者: hatena
投稿者のウェブサイトに移動

Like演算子を使うと楽できるかも。
 

Sub サイズ追加()
    Dim i As Long
    Dim c As Long
    Dim lastRow As Long

    c = Range("K2").Column
    lastRow = Cells(Rows.Count, c).End(xlUp).Row

    For i = 1 To lastRow
        If Cells(i, c) Like "*[SML]" Then
            Cells(i, c) = Cells(i, c) & "サイズ"
        End If
    Next i
End Sub

投稿日時: 21/11/04 17:39:00
投稿者: youkey14

お二方ありがとうございます。
 
今回はLike演算子を使わせて頂きました^^
 
とても良い方法を教えてくださり、ありがとうございました。