|
こんにちは
何をどう置換するのか良く分からないので数例でも実際の元文字列と処理後の文字列
の対比表みたいなものを記載してもらえるといいのですが。
Sub test()
Dim v As Variant
Dim i As Long
With Range("C1", Range("C65536").End(xlUp))
v = .Value
With WorksheetFunction
For i = 1 To UBound(v, 1)
Select Case True
Case Left(v(i, 1), 2) = "a_"
v(i, 1) = "優良" & Mid(v(i, 1), 3)
Case Left(v(i, 1), 2) = "b_"
v(i, 1) = "普通" & Mid(v(i, 1), 3)
Case InStr(2, v(i, 1), "[a_") > 1
v(i, 1) = .Substitute(v(i, 1), "a_", "優良")
Case InStr(2, v(i, 1), "[b_") > 1
v(i, 1) = .Substitute(v(i, 1), "b_", "普通")
Case .IsNumber(v(i, 1))
v(i, 1) = "待機"
Case Else
If InStr(1, v(i, 1), "[") > 1 Then
v(i, 1) = _
Left(v(i, 1), _
InStr(1, v(i, 1), "[")) & "待機]"
End If
End Select
Next
End With
.Value = v
End With
End Sub
置換処理パターンが合っていれば、正規表現を使ったコードに変更した方がいいかも
知れませんけど。
|
|