String.Insert导致无效限定符错误?

时间:2012-08-16 20:22:46

标签: vba

我试图获取用户表单上的文本框的值并将其分配给字符串变量,然后使用String类的Insert方法将连字符插入该字符串变量中。每次运行此代码时,都会突出显示“无效限定符”错误,并突出显示AcctUnitString。

Dim AcctUnitString As String

AcctUnitString = AcctUnit.Text
AcctUnitString = AcctUnitString.Insert(2, "-")

Debug.Print (AcctUnitString)

AcctUnit是用户表单上文本字段的名称。可能导致此错误的任何想法,或者更好的方法来做我正在尝试做的事情?

用户将在文本框中输入13位代码(例如9200030015001),我想格式化它:92-0003-001-5001。任何帮助是极大的赞赏。谢谢!

2 个答案:

答案 0 :(得分:3)

来自here

  

字符串不是VBA中的对象,因此它们没有像VB.Net中那样的子字符串或删除方法。

答案 1 :(得分:1)

我不知道内置的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

http://www.vbforums.com/showthread.php?141943-Insert-string-within-another-string-at-specific-position