首页 > 解决方案 > 查找并替换以“F*”开头的项目

问题描述

我的 Excel 中有来自RowA和的行RowX

我的目的是在 ROWB 中找到所有以“F”开头的项目,并将其替换为 ROWX 中的值 5,所有其他项目在 ROwX 中具有 31。

Sub ReplaceDashes()
    Dim Cmcode As String
    Dim Rownum As Long

    Rownum = 6

    With Range("B6")
        Do Until Cells(Rownum, 2).Value = ""
            Select Case Cells(Rownum, 2).Value
                Case Left(.Text, 1) = "F"
                    Cells(Rownum, 24).Value = "5"
                Case Else
                    Cells(Rownum, 24).Value = "31"
            End Select
            Rownum = Rownum + 1
        Loop
    End With

    MsgBox ("DONE")

End Sub

以上不符合我想要的方式,它不适用于第一种情况,它用 "31" 替换所有内容。有人可以建议吗?

标签: excelvbareplacefind

解决方案


编辑:找到解决方案。选择案例必须直接在 left 函数上执行:

Sub ReplaceDashes()

Dim Cmcode As String
Dim Rownum As Long
Dim mystr As String

Rownum = 6

With Cells(Rownum, 2)
    Do Until Cells(Rownum, 2).Value = ""
        mystr = Cells(Rownum, 2).Value
        Select Case Left(mystr, 1)
            Case "f"
                Cells(Rownum, 24).Value = "5"
            Case Else
                Cells(Rownum, 24).Value = "31"
        End Select
        Rownum = Rownum + 1
    Loop
End With

MsgBox ("DONE")

结束子


推荐阅读