vba 如何实现字符串的完全匹配,不是模糊匹配

2024-05-15

1. vba 如何实现字符串的完全匹配,不是模糊匹配

Sub bj()arr = Split("LCAP,LCAPDB,ABLCAP,ACLCAPDB", ",")For i = 0 To UBound(arr)    If arr(i) Like "LCAP" Then MsgBox "arr数组的第" & i + 1 & "个元素等于LCAP"NextEnd Sub F8 单步执行代码 你能更清楚的看到效果

vba 如何实现字符串的完全匹配,不是模糊匹配

2. Excel 求教一个用VBA模糊匹配的问题

供参考
For i = 1 To Sheet5.UsedRange.Rows.Count   'B 栏数据
Bstr = Trim(Sheet5.Range("B" & i).Value)
num = Len(Bstr)
For j = 1 To Sheet5.UsedRange.Rows.Count    'A 栏数据
astr = Trim(Sheet5.Range("A" & j).Value)
If num = 1 Then
If InStr(astr, Bstr) >= 1 Then
m = m + 1
End If
ElseIf num > 1 Then
For k = 1 To num
aaa = Mid(Bstr, k, 1)
If InStr(astr, Mid(Bstr, k, 1)) >= 1 Then
m = m + 1
End If
Next k
End If
Dim rate As Double
rate = m / num
If rate >= 0.5 Then
Sheet5.Range("C" & i).Value = Bstr
End If

Next j
Next i

3. VBA中正则表达式匹配字符串的问题

dim reg as objectset reg=createobject("vbscript.regexp")with reg    .pattern="第[一二三四五六七八九十百千万零〇]+条"'自己看文本情况选择增加^$限定    .Global=trueend withif reg.test("测试文本")=true then    str=reg.replace("测试文本","替换结果表达式")'替换结果中,如果需要使用后向引用,\应写为$,如$1$2.end if

VBA中正则表达式匹配字符串的问题

4. 求教vba字符串匹配问题

按照你的描述,能想到的也就是用like 比较符或者instr 进行比较后输出到该行的后一列,
但这个还是双层嵌套循环,最多需要 20万*1000=20000万次。。,。。。。
算法上不知道能不能优化、、
Like 运算速度稍逊于 instr。至于字典,应该是不行的。。

5. VBA复合框,下拉项。要求输入框输入字符串时模糊匹配下拉项字符串并去,除所有不包含输入字符串的下拉

Dim arr
Private Sub ComboBox1_Change()
ComboBox1.DropDown
a = ComboBox1.Text
For i = ComboBox1.ListCount - 1 To 0 Step -1
If InStr(ComboBox1.List(i), a) = 0 Then
ComboBox1.RemoveItem (i)
End If
Next
If a = "" Then
ComboBox1.Visible = False
ComboBox1.Visible = True
ComboBox1.SetFocus
ComboBox1.DropDown
ComboBox1.Clear
For i = 0 To UBound(arr)
ComboBox1.AddItem arr(i)
Next
End If
End Sub
Private Sub UserForm_Initialize()
arr = Array("abc", "bnb", "hui", "ooo", "pio", "rta", "err", "qwe", "qqq", "wwe")
For i = 0 To UBound(arr)
ComboBox1.AddItem (arr(i))
Next
End Sub

VBA复合框,下拉项。要求输入框输入字符串时模糊匹配下拉项字符串并去,除所有不包含输入字符串的下拉

6. excel vba中模糊匹配 问题 小弟不会vba代码乱写一通 求改正

instr好像用反了
第一个参数是被查找的对象,第二个参数是包含的对象

7. 如何实现字符串的模糊匹配

可以写一个程序,计算两个文本的相似度,相似度公式:输入文本中的正确文本个数/原正确文本长度,然后根据相似度判断就可以了

如何实现字符串的模糊匹配

8. VBA中查找指定字符串的问题

'VBA 方法如下:
'在所在页内(sheet1)加个按钮,指定 Macro1
Private Sub CommandButton1_Click()
Macro1
End Sub

'模块下 Macro1 代码如下:
Sub Macro1()       
 For i = 1 To 65535
   If Len(ActiveSheet.Cells(i, 6).Value) = 0 Then
      Exit For
   End If
 Next i
   N = i - 1    ' ******* N 为F列内元素的个数      
    Sheets("Sheet2").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    Sheets("Sheet2").Range("F1").Select
    Sheets("Sheet1").Select    
   M = 0
   AA = "1"
   BB = InputBox("请在下面的对话框内输入关键字", "关键字输入对话框", AA)
 If Len(Trim(BB)) = 0 Then
   MsgBox "请输入关键字 !", vbCritical, "SIR007_001提示"
   Exit Sub
   Else
 For J = 1 To N
   Sheets("Sheet1").Cells(J, 6).Select
    'MsgBox Sheets("Sheet1").Cells(J, 6)
   If CStr(Sheets("Sheet1").Cells(J, 6).Value) = CStr(BB) Then
     CC = J & ":" & J
     DD = "A" & J
     Sheets("Sheet1").Rows(CC).Select
     Selection.Copy
     Sheets("Sheet2").Select
     Sheets("Sheet2").Range(DD).Select
     ActiveSheet.Paste
     Range(DD).Select
     Sheets("Sheet1").Select
     Sheets("Sheet1").Cells(J, 6).Select
     Application.CutCopyMode = False
     M = M + 1
   End If
 Next J
 Sheets("Sheet1").Cells(1, 6).Select
   If M = 0 Then
     MsgBox "请输入有效的关键字 ! ", vbExclamation, "SIR007_001提示"
   Else
     MsgBox "操作完成!本次共发现 " & M & " 个满足要求,并已经复制到“sheet2”相同位置!", vbInformation, "SIR007_001提示"
   End If
 End If    
End Sub