Excel VBA質問箱 IV

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

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


57011 / 76738 ←次へ | 前へ→

【24468】Re:文字列置換について
回答  ウッシ  - 05/4/22(金) 15:15 -

引用なし
パスワード
   こんにちは

何をどう置換するのか良く分からないので数例でも実際の元文字列と処理後の文字列
の対比表みたいなものを記載してもらえるといいのですが。

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

置換処理パターンが合っていれば、正規表現を使ったコードに変更した方がいいかも
知れませんけど。

0 hits

【24452】文字列置換について ひなこ 05/4/22(金) 14:07 質問
【24468】Re:文字列置換について ウッシ 05/4/22(金) 15:15 回答

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