如果单元格值以特定数字集开头,则替换数据

Eri*_*rin 8 excel vba excel-vba

我的单元格值是数字串(单元格中总是大于5个数字,即67391853214等)

如果一个单元格以三个特定数字开头(即单元格值为67391853214的673),我希望单元格中的数据被替换为不同的值(如果673是第一个数字,则用"790"替换整个单元格值)

我知道有一种方法可以使用asterick只使用部分单元格值,但我不是100%的语法.这是我当前的代码,但它专门搜索"###*",而不是以"###"开头的值.非常感谢任何和所有的帮助!

lastRow = Range("A" & Rows.Count).End(xlUp).Row
colNum = WorksheetFunction.Match("Number", Range("A1:CC1"), 0)
For Each c In Range(Cells(2, colNum), Cells(lastRow, colNum))  
If c.Value = "614*" _
        Or c.Value = "626*" _
        Or c.Value = "618*" _
        Or c.Value = "609*" _
        Or c.Value = "605*" Then
            c.Value = "737"
Run Code Online (Sandbox Code Playgroud)

`

Fre*_*Man 9

使用该LEFT()功能,如下所示:

lastRow = Range("A" & Rows.Count).End(xlUp).Row
colNum = WorksheetFunction.Match("Number", Range("A1:CC1"), 0)
For Each c In Range(Cells(2, colNum), Cells(lastRow, colNum))  
  If LEFT(c.Value,3) = "614" _
     Or LEFT(c.Value,3) = "626" _
     Or LEFT(c.Value,3) = "618" _
     Or LEFT(c.Value,3) = "609" _
     Or LEFT(c.Value,3) = "605" Then
    c.Value = "737"
Run Code Online (Sandbox Code Playgroud)