验证:只允许一个特定单词一次可以在VBA Excel的文本框中输入

时间:2017-09-05 14:32:08

标签: excel vba excel-vba

我有4个不同的单词(financial, location, course, professor)可以在文本框中输入,但每个单词在文本框中的每个输入只能使用一次。

例如,我在文本框中输入一句话如下:"我的财务问题因为我的家庭正面临财务问题而且#34;下面的代码将此句子处理为拆分文本。

我想要进行验证的目的是通知用户(可能通过msgbox):

  

"错误 - 您必须在句子中仅使用一次财务。"

此外,如果课程,地点和教授在一个句子中使用了不止一次,也应该给出一个msgbox。

Private Sub CommandButton1_Click()
Call SplitText
End Sub
Sub SplitText()
    Dim WArray As Variant
    Dim TextString As String
    TextString = TextBox1
    WArray = Split(TextBox1, " ")
    If (TextString = "") Then
    MsgBox ("Error: Pls Enter your data")
    Else

    With Sheets("DatabaseStorage")
        .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(UBound(WArray) + IIf(LBound(WArray) = 0, 1, 0)) = Application.Transpose(WArray)
    End With

    MsgBox ("Successfully inserted")

    End If

End Sub

1 个答案:

答案 0 :(得分:1)

试试这个:

Private Sub CommandButton1_Click()
    Call SplitText
End Sub

Sub SplitText()
    Dim sentence As String
    Dim mycount As Long

    sentence = InputBox("Enter the sentence")
    mycount = UBound(Split(sentence, "financial"))
    If mycount > 1 then
        Msgbox "Error - you must used financial only once in a sentence"
    End if

    'Here the rest of the code you need

End Sub

希望它有所帮助。