vba 字符串模糊匹配问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:33:06
十万火急。请予指点。

我现在想实现这样的功能,通过vba来写一个脚本实现根据某一列情况来给定分值。但这列要求模糊匹配。

Public Sub ModProj()
'填充项目立项分值及结题分值
Dim i As Integer
For i = 1 To ActiveCell.SpecialCells(xlLastCell).Row
Select Case Cells(i, 5)
Case "*国家自然基金*"
Cells(i, 8) = 240
Case "*国防基础*", "*国家科技部*"
Cells(i, 8) = 50

End Select
' End If
Next i

End Sub

但在调试时发现,达不到模糊匹配的效果。如有一列的值为国家自然基金,但结果 Cells(i, 8) = 240没有执行。
我用instr函数做了一下,但是If InStr("国家自然", Cells(3, 1).value, 1) Then居然报错说是类型不匹配。我那一列就是文本类型,怎么会不匹配呢

Public Sub ModProj()
'填充项目立项分值及结题分值
Dim i As Integer
Dim bl As Boolean
For i = 1 To ActiveCell.SpecialCells(xlLastCell).Row
Select Case bl
Case Cells(i, 5) Like "*" & "国家自然基金" & "*"
Cells(i, 8) = 240
Case Cells(i, 5) Like "*" & "国防基础" & "*"
Cells(i, 8) = 50
End Select
Next i
End Sub