VBA Excelreplace不总是工作
好的,现在真的很烦人了。
最终我想添加一些ifs和其他的代码,但现在我只是有下面的代码。
' resize string if nessuary sname = Replace(arr(x), "ASR Port Provisioning General Questions", "General Questions") sname = Replace(arr(x), "ASR Port Provisioning", "ASR PP") sname = Replace(arr(x), "ASR Standard Network Device Config Changes", "Std Config Change") If Len(sname) > 30 Then sname = Right(sname, 15)
arr()有元素
"ASR Port Provisioning General Questions", "ASR Port Provisioning", "ASR Standard Network Device Config Changes"
现在为“ASR标准networking设备configuration更改”它的工作原理和缩短到“标准configuration更改”
但是对于另外两个人来说,他们会滑雪,而不是取代?
现在我知道他们包含corrent信息,我甚至尝试输出arr(x)来形成seachstring,但它仍然不会发生:)
OK好像需要整理一下,一旦包揽就好了
如果InStr(arr(x),“ASR Port”)那么
If InStr(arr(x), "ASR Port Provisioning General Questions") Then sname = "General Questions" Else sname = Replace(arr(x), "ASR Port Provisioning", "ASR PP") End If Else sname = Replace(arr(x), "ASR Standard Network Device Config Changes", "Std Config Change") End If
工作好! 任何一个knwo乳清三个replace名单ogather停止对方工作?
在你的第一个代码块中,问题是你重置每个调用的sname
的值,因此只有最后一个“粘”。 您可能需要另一个arrays来存储所有replace的值,或者您可以更新现有的arrays,或者在进行replace之后,可以在每个项目上执行您的工作。 我们需要更多地了解你正在处理的数据。
在第二个代码块中, ASR Port
不能在stringarr(x)
,因此它只执行Else语句。
我猜你正在尝试做这样的事情:
If InStr(arr(x), "ASR Port Provisioning General Questions") Then sname = Replace(arr(x), "ASR Port Provisioning General Questions", "General Questions") ElseIf InStr(arr(x), "ASR Port Provisioning") Then sname = Replace(arr(x), "ASR Port Provisioning", "ASR PP") Else sname = Replace(arr(x), "ASR Standard Network Device Config Changes", "Std Config Change") End If