我看要搜索的已更新
细胞含量,所以这里来了所以修改后的代码
Option Explicit
Sub GetUrl2()
Dim abc As Range
Dim urlString As String
Dim iPosIni As Integer, iPosEnd As Integer
Set abc = ActiveSheet.Range("A2") '<== change it to your needs
iPosEnd = InStrRev(abc.Value, "***")
iPosIni = InStrRev(Mid(abc.Value, 1, iPosEnd), "***") + 3
urlString = Mid(abc.Value, iPosIni, iPosEnd - iPosIni)
End Sub
可以缩短,在可读性为代价的,如如下所示
Sub GetUrl3()
Dim abc As Range
Dim urlString As String
Set abc = ActiveSheet.Range("A2") '<== change it to your needs
urlString = Mid(abc.Value, _
InStrRev(Mid(abc.Value, 1, InStrRev(abc.Value, "***")), "***") + 3, _
InStrRev(abc.Value, "***") - _
(InStrRev(Mid(abc.Value, 1, InStrRev(abc.Value, "***")), "***") + 3) _
)
End Sub
在这一点上,我认为你宁愿将该代码限制在一个有趣的ction由主代码如下一样
Sub Main()
Dim urlString As String
urlString = GetUrl(ActiveSheet.Range("A2").Value)
End Sub
Function GetUrl(strng As String) As String
GetUrl = Mid(strng, _
InStrRev(Mid(strng, 1, InStrRev(strng, "***")), "***") + 3, _
InStrRev(strng, "***") - _
(InStrRev(Mid(strng, 1, InStrRev(strng, "***")), "***") + 3) _
)
End Function
你的最好的方法在这里是使用正则表达式。很难建议什么样的模式是合适的,没有更多的例子URL's –