下午刚好老板不在了抽了点时间,帮你更改了代码附件就不发送了,你将代码复制粘贴在原有的代码处就行了,快测试吧
Private Sub CommandButton1_Click()
'声明变量
Dim Rng As Range, Col As Range
Dim Inet As String, Cell As String, n%, c%, j%, m%
'清空原查找数据
[b:b]ClearContents
'遍历字符串引用区域
For Each Col In Range("a1", [a65536]End(3))
'每次外循环将变量清空或归零
c = 0: m = 0: j = 0: Inet = "": Cell = ""
'遍历表2数据引用区域
For Each Rng In Sheet2Range("a1", Sheet2[a65536]End(3))
'获取姓名在字符串的起始号并赋值给变量n
n = InStr(Col, Rng)
If n > 0 Then '如果变量n>0
c = c + 1 '累计找到次数
If Inet = "" Then '如果变量Inet的值为空(表示初次写入)
m = n '将起始号赋值给变量m
Inet = Rng '将找到的值赋值给变量Inet
Else '否则
j = n '将起始号赋值给变量j
Cell = Rng '将找到的值赋值给变量Cell
End If
End If
Next
If c > 1 Then '主条件1:如果找到的次数大于1次
If j < m Then '支条件1:如果变量j小于变量m(表示二次找到的起始号对比)
Col(1, 2) = Cell '姓名写入单元格
Else '支条件2:如果变量j大于变量m
Col(1, 2) = Inet '姓名写入单元格
End If
Else '主条件2:如果找到的次数是1次
Col(1, 2) = Inet '姓名写入单元格
End If
Next
End Sub
1使用foreach每次读取一行应该都会了,或者使用while循环如while((str=textBox1ReadLine())!=null)
2使用Remove() 方法:从指定位置开始删除指定数的字符
字串对比一般都用: str1EndsWith(str2); //检测字串str1是否以字串str2结尾,返回布尔值;
匹配成功时保存 删除从零开始指定长度后剩余的字符串,就是你需要的了
3记录比较多的话可以使用二维字符串数组保存信息,写出时可以使用for遍历2次
Sub AAA()
Dim S As String
S = Selection
If InStr(S, "a") > 0 Then '将a修改为其他需要判断的字符或者字符串即可。
MsgBox "包含字母a"
End If
End Sub
以上就是关于excel 从一段文字找出与指定区域相同的文字全部的内容,包括:excel 从一段文字找出与指定区域相同的文字、C# 怎么获取TextBox 指定字符串、word宏命令vba中,如何把已选定的区域的内容提取出字符来,以便进行判断等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)