您实际上可以将字符插入到字符串中。取决于你的“笨重”的定义,但这里有一个例子:
ActiveCell.Characters(5, 1).Insert (" | ")
这将会把一个“|”开始在小区的第五个字符。您可能需要通过单元格字符中的查找或某些循环来识别某些位置,但我认为这可能会让您走上正路。
使用STRING编辑进行更新 这只是我的偏好,但编辑字符串看起来不太笨拙。您可以使用此设置来获取您想要的内容:
Sub StringSlicerSample()
Dim teststring As String, Separater As String, tangoTxt As String, BeforeTXT As String, AfterTxt As String, MidTxt As String
Dim Position_To_Slice As Integer
teststring = "xxxbangyyy"
Separater = " | " 'can be whatever you want as separator
tangoTxt = "bang" 'text to look for that you want use for split
Position_To_Slice = 1 'If you want to split somewhere in between, lets say after the "b"
'put =1 as that's the first position in "bang"
'Insert separator before
BeforeTXT = Mid(teststring, 1, InStr(1, teststring, tangoTxt) - 1) & Separater & Mid(teststring, InStr(1, teststring, tangoTxt), Len(teststring))
'Insert after
AfterTxt = Mid(teststring, 1, InStr(1, teststring, tangoTxt) + Len(tangoTxt) - 1) & Separater & Mid(teststring, InStr(1, teststring, tangoTxt) + Len(tangoTxt), Len(teststring))
'Split inbetween based on position to slice
MidTxt = Mid(teststring, 1, InStr(1, teststring, tangoTxt) + Position_To_Slice - 1) & Separater & Mid(teststring, InStr(1, teststring, tangoTxt) + Position_To_Slice, Len(teststring))
MsgBox BeforeTXT, Title:="Before Example"
MsgBox AfterTxt, Title:="After Example"
MsgBox MidTxt, Title:="Sliced in position " & Position_To_Slice
End Sub
没有任何 - 甚至是虚拟 - 数据,它不清楚如何提供帮助。 –
很确定'匹配'需要是一个对象引用,因此使用'Set'关键字进行赋值。问题:为什么你不使用早期绑定来处理你不熟悉的API? –
谢谢你的想法。我会尽力在稍后分享一个更好的数据/字符串描述。我没有遇到早期绑定这个词,但看起来像我正在使用它。我只是在stackoverflow编辑器中键入他上面的代码,因为我没有访问我实际使用的代码。是的,我认为set关键字是必需的。 – soundofsilence