String.Insert导致无效的限定符错误?
我想获取用户窗体上的文本框的值并将其分配给字符串变量,然后使用String类的Insert方法将连字符插入到该字符串变量中。我每次运行此代码,我得到一个错误“无效的限定词”与AcctUnitString突出。String.Insert导致无效的限定符错误?
Dim AcctUnitString As String
AcctUnitString = AcctUnit.Text
AcctUnitString = AcctUnitString.Insert(2, "-")
Debug.Print (AcctUnitString)
AcctUnit是用户窗体上的文本字段的名称。任何想法可能会导致这个错误,或更好的方式做我想做什么?
用户将在文本框中输入一个13位数字代码(例如9200030015001),我想格式化它:92-0003-001-5001。任何帮助非常感谢!
我不知道内置的Excel功能可以做你正在寻找的东西
Sub test()
Dim AcctUnitString As String
AcctUnitString = "9200030015001"
AcctUnitString = InsertString(AcctUnitString, "-", 2)
MsgBox AcctUnitString
End Sub
Private Function InsertString(OriginalString As String, StringToInsert As String, WhereToInsertIt As Integer) As String
Dim String1 As String, String2 As String
String1 = Mid(OriginalString, 1, WhereToInsertIt)
String2 = Mid(OriginalString, WhereToInsertIt + 1, Len(OriginalString))
InsertString = String1 & StringToInsert & String2
End Function
这让我92-0030015001,这是有点接近而不是肯定的错误,但它将用“ - ”替换原始字符串中的一个字符,而不是在现有字符之间插入。 – itsmequinn 2012-08-16 20:36:15
你说得对。我没有注意到,给零 - 我已经添加了一个用户功能,可以做到这一点。 – enderland 2012-08-16 20:42:53
完美。谢谢! – itsmequinn 2012-08-16 20:50:51
here从
字符串是没有VBA对象,因此它们没有方法如子串或删除,如在VB.Net。
那么,这个确实解释了很多,但是VBA中有可以执行字符串处理的函数吗? – itsmequinn 2012-08-16 20:41:14
似乎有一些独立的函数具有相似的处理流名称。我遇到了类似的问题,使用string.Trim(),但VBA的版本是Trim(字符串)。也许您的问题也存在独立功能。 – 2013-02-24 00:02:30
在我前面了,如果我在文本框输入9200030015001,只是'Debug.Print(AcctUnit.Text)的例子'值为9200030015001. – itsmequinn 2012-08-16 20:27:08