只驗證字符串值,我希望用戶在Excel單元格中輸入字符只有.. 我用ISTEXT(值)在Excel中的自定義公式,但不能得到正確的字符串輸出像hgdashj2132154請幫忙... 謝謝你..公式在Excel
回答
Smack,我在書籤網站上找到了這個。它本質上是相同的概念馬克·蒂博的建議,但不需要任何額外的引用:
謝謝:-)你的鏈接是非常有用的,但我在Excel中使用Excel模板(xlt)不在vb中...我們可以在Excel模板中添加宏嗎?當我在視覺stdio中打開微型編輯器時,它不會打開excel的微型編輯器.... – Smack 2011-01-07 10:15:02
它只需要一點正則表達式的魔力。您需要用戶定義的函數和正則表達式加載項。在Developer視圖中,轉到Tools | References並選中Microsoft VBScript Regular Expressions 5.5。
這裏的功能:
Public Function isOnlyAlpha(myText) As Boolean
Dim regEx
Set regEx = New RegExp 'Regular expression object
regEx.Pattern = "^[a-zA-Z]*$" ' Set pattern.
isOnlyAlpha = regEx.Test(myText) ' Test for match
End Function
結果:
=isOnlyAlpha("hgdashj2132154")
False
=isOnlyAlpha("hgdashj")
True
如果你寧可沒有正則表達式,總是有 「象環」:
Public Function IsOnlyAlpha(Value As String) As Boolean
IsOnlyAlpha = True
Dim i As Integer
For i = 1 To Len(Value)
IsOnlyAlpha = IsOnlyAlpha And (Mid(Value, i, 1) Like "[A-Za-z]")
Next i
End Function
感謝您的迴應,但可以詳細說明如何添加UDF和REGX插件在Excel中。我在做編碼在excel模板上的c#中,我無法在excel的開發人員選項卡中找到工具 - >引用... – Smack 2011-01-06 05:15:16
工具 - >引用是在VBA窗口中,而不是在Excel窗口中 – 2011-01-07 01:50:09
鍵Alt-F11,然後選擇工具|參考 – 2011-01-07 04:07:47
純VBA方法:
(我編輯我的答案使用Like運算符,而不是IsNumeric函數。現在只有字符a到z被視爲而不是隻非數字字符有效。)
Public Function IsOnlyAlpha(Value As String) As Boolean
If Len(Value) = 0 Then
IsOnlyAlpha = False
Exit Function
End If
Dim i As Integer
For i = 1 To Len(Value)
If Not Mid(Value, i, 1) Like "[A-Za-z]" Then
IsOnlyAlpha = False
Exit Function
End If
Next i
IsOnlyAlpha = True
End Function
你期待的hgdashj2132154輸出什麼?換句話說,你得到的是什麼錯誤? – 2011-01-05 19:35:06
它只是一個自定義驗證的Excel,我想要自定義公式爲Excel只接受字符串(只有字符)... – Smack 2011-01-06 05:19:34