我想将变量“asin”设置为单元格内容中的 10 个字母数字字符串。
被搜索的子字符串总是以 B0 或 b0 开头。我试图研究一种方法来让一个语句查找任一值,但无法找到它。如果有人可以分享这个,将不胜感激。
正在分析的单元格内的字符串是:sp - dfns - 短语 - B07QMXFJHS - scissors
我认为问题出在 Mid 语句中的 instr 函数上。
Sub test()
Dim asin As String
Dim ws As Worksheet
Set ws = Worksheets("sp bulkexport")
If InStr(ws.range("d2").Value, "b0") > 0 Then
asin = Mid(ws.range("d2").Value, InStr(1, ws.range("d2").Value, "b0", 0), 10)
ElseIf InStr(ws.range("d2").Value, "B0") > 0 Then
asin = Mid(ws.range("d2").Value, InStr(1, ws.range("d2").Value, "B0", 0), 10)
End If
'this is to check the result
ws.range("e3").Value = asin
End Sub
最佳答案
您可以对您的想法进行编码,如下所示。
Dim Ws As Worksheet
Dim Asin As String
Dim n As Long ' used by Instr()
Set Ws = Worksheets("sp bulkexport")
With Ws.Cells(2, "D")
n = InStr(1, .Value, "b0", vbTextCompare)
If n Then Asin = Mid(.Value, n, 10)
'this is to check the result
Offset(1, 1).Value = UCase(Asin)
End With
关于excel - 如何搜索子字符串,并返回其右侧 10 个字符的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68506012/