2

ユーザー フォームのテキスト ボックスの値を取得して文字列変数に割り当て、String クラスの Insert メソッドを使用してその文字列変数にハイフンを挿入しようとしています。このコードを実行するたびに、「Invalid Qualifier」というエラーが表示され、AcctUnitString が強調表示されます。

Dim AcctUnitString As String

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

Debug.Print (AcctUnitString)

AcctUnit は、ユーザー フォームのテキスト フィールドの名前です。このエラーを引き起こしている可能性のあるアイデア、または私がやろうとしていることを行うためのより良い方法はありますか?

ユーザーはテキスト ボックスに 13 桁のコード (例: 9200030015001) を入力し、92-0003-001-5001 のようにフォーマットします。どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

4

ここから

文字列は VBA のオブジェクトではないため、VB.Net のように Substring や Remove などのメソッドはありません。

于 2012-08-16T20:33:30.900 に答える
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

于 2012-08-16T20:30:50.143 に答える