Vba strConv将括号视为第一个字母
下面代码中的strConv返回 (你好,世界) 而不是想要的 (你好,世界) 因为它将第一个括号视为单词“HELLO”的第一个字母。 有谁能建议如何克服这个问题吗Vba strConv将括号视为第一个字母,vba,excel,Vba,Excel,下面代码中的strConv返回 (你好,世界) 而不是想要的 (你好,世界) 因为它将第一个括号视为单词“HELLO”的第一个字母。 有谁能建议如何克服这个问题吗 Dim MyString Dim MyCaseString MyString = "(HELLO WORLD)" MyCaseString = strConv(MyString, 3) MsgBox MyCaseString 使用Mid()切掉前导“(”--它可以添加回: Sub
Dim MyString
Dim MyCaseString
MyString = "(HELLO WORLD)"
MyCaseString = strConv(MyString, 3)
MsgBox MyCaseString
使用Mid()切掉前导“(”--它可以添加回:
Sub test()
Dim MyString
Dim MyCaseString
MyString = "(HELLO WORLD)"
MyCaseString = "(" & StrConv(Mid(MyString, 2), 3)
MsgBox MyCaseString
End Sub
我个人会使用正则表达式(您需要对Microsoft VBScript正则表达式5.5的引用):
例如John Coleman,使用
Replace
函数可以做同样的事情
Sub Test1()
Dim MyString
Dim MyCaseString
MyString = "(HELLO WORLD)"
MyCaseString = "(" & StrConv(Replace(MyString, "(", ""), 3)
MsgBox MyCaseString
End Sub
方法2:
Sub Test2()
Dim MyString
Dim MyCaseString
MyString = "(HELLO WORLD)"
mystr = Replace(Replace(MyString, "(", ""), ")", "")
MyCaseString = "(" & StrConv(mystr, vbProperCase) & ")"
MsgBox MyCaseString
End Sub
非常感谢约翰·科尔曼。非常好。我感谢你。谢谢共产国际。那看起来确实很有趣。我明天会努力从中学习。非常感谢你。
Sub Test2()
Dim MyString
Dim MyCaseString
MyString = "(HELLO WORLD)"
mystr = Replace(Replace(MyString, "(", ""), ")", "")
MyCaseString = "(" & StrConv(mystr, vbProperCase) & ")"
MsgBox MyCaseString
End Sub