我想删除部分字符串。例如
mystring="site, site text, sales "
Excel VBA-删除部分字符串
我想删除了mystring '网站'。我需要输出“网站的文字,销售”
我使用这行代码:
s1 = Replace(mystring, "site", "")
但我正在逐渐"text, sales"
我不知道如何做到这一点。我” d非常感谢你的帮助!
我想删除部分字符串。例如
mystring="site, site text, sales "
Excel VBA-删除部分字符串
我想删除了mystring '网站'。我需要输出“网站的文字,销售”
我使用这行代码:
s1 = Replace(mystring, "site", "")
但我正在逐渐"text, sales"
我不知道如何做到这一点。我” d非常感谢你的帮助!
replace("site, site text, sales ","site, ","",1,1)
您还可以发送作为参数的起始位置,然后你想更换的次数。(默认值为-1)
有很多不同的选择在这里:
仅仅通过在搜索字符串将昏迷中被替换,并使用Trim
摆脱空间:
s1 = Trim(Replace(mystring, "site,", ""))
指定时间的数量要被替换的字符串(第一个“1”是起点,第二个用于更换的数量)
s1 = Trim(Replace(mystring, "site,", "",1,1))
或硬盘/坏的方式,来分解你在两件中第一次出现后,再重新组合,以获得结果字符串...
TempStart = Left(mystring, InStr(1, mystring, "site") + Len(mystring) + 1)
TempEnd = Replace(mystring, TempStart, "")
TempStart = Replace(TempStart, "site", "")
mystring = CStr(TempStart & TempEnd)
您还可以用户VB的MID功能是这样的:
Mystring=Mid(myString, 6)
输出将是“网站的文字,销售”
只要指定在数部分被删除你想要的字符数。
在我的情况下,我想删除“[”和“]”之间的部分字符串。下面的代码工作得很好。
因此,与在A列原始的字符串(在列B溶液):
Sub remove_in_string()
Dim i, lrowA, remChar As Long
Dim mString As String
lrowA = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lrowA
mString = Cells(i, 1).Value
If InStr(mString, "[") > 0 Then
remChar = InStr(mString, "]") - InStr(mString, "[") + 1
Cells(i, 2).Value = Left(mString, Len(mString) - remChar)
ElseIf InStr(mString, "[") = 0 Then
Cells(i, 2).Value = Cells(i, 1).Value
End If
Next
End Sub
为了记录在案,遵循更换的参数:'公共功能替换( BYVAL表达作为字符串, BYVAL找到,因为字符串, ByVal替换为字符串, 可选ByVal作为整数开始= 1, 可选ByVal作为整数= -1, 可选ByVal比较CompareMethod = CompareMethod.Binary )As String' –