簡體   English   中英

Excel 單元格應包含所需字符

[英]Excel cell shall contain required characters

如果您能幫助解決以下問題,我將不勝感激:當外部用戶完成 Excel 中定義的單元格時,他/她可以將預定義的值放入一個單元格中。 就像我想填充“國家”字段一樣,可供我使用的選項是:“莫斯科”或“莫斯科;紐約”。

所以可接受的符號無論如何都是拉丁字母和分號。

如果結果為假(出於某些原因,我在 Country name 后面使用了逗號),則會彈出錯誤消息,例如“此符號不可接受”。

提前感謝您的時間和幫助!

在我看來,OP 只是想阻止輸入某些字符。

這些可能會被檢測到,例如通過一個否定的Like比較

    Dim SearchString As String
    SearchString = "Moscow;New-York"        
    If SearchString Like "*[! ;A-Za-z-]*" Then 
        MsgBox "Found not accepted symbol."
        '... do other stuff
    Else
        MsgBox "Correct entry."
    Endif

通過"*[; ;A-Za-z-]*"進行模式搜索的提示

Like運算符正則表達式中的模式搜索只有一些基本的相似之處,但也可以產生有用的高效代碼。

尤其是“括在括號 ([ ]) 中的一組一個或多個字符 ( charlist ) 可用於匹配字符串中的任何單個字符,並且可以包含幾乎任何字符代碼,包括數字。”

此類 charlist 開頭的感嘆號 ( ! )表示如果在字符串中找到除 charlist 中的字符之外的任何字符,則進行匹配。

訣竅

因此,只找到一個字符就足夠了,不是想要的字符序列(即空白 , 一個分號; , AZaz中的字母或連字符- ) 由前綴為!否定搜索模式找出任何入侵者(周圍的通配符*允許在任何位置識別入侵者)。

請注意,我將連字符-作為模式搜索中的最后一個元素,因為在字符列表中,連字符用於標識一系列字符。 - (與 MS 幫助定位相反-緊接在!之后似乎不起作用)

C.f. Ms Help Like 操作員

上面的代碼拆分器並沒有以任何方式假裝是一個完整的解決方案,而是打算給出一個初步的想法。 由提問者在自己的代碼中開發進一步的步驟。

您可以在編輯不需要的特定字符后使用INSTR function檢查單元格。

例如:

If INSTR(1,cellreference,",")<>”0” then 'a comma was found in the cell
    msgbox "This symbol is not acceptable" 
End if 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM