作者: 黑道明 時間: 2019-12-14 19:50 標題: Excel VBA Check Email Format
本身set 左 DV
= ISNUMBER(MATCH("*@*.?*",AF2:AF2,0))
去阻止D人入錯野.....
點知佢地用複製貼上.......突破左DV............
依然入錯格式既Email比我.....
依家我想用VBA去搵邊隻錯格式 , 然後果格就轉紅色.
但係唔知點寫呢句 "*@*.?*"
- Private Sub CommandButton1_Click()
- For r = 1 To Range("a1").CurrentRegion.Rows.Count
-
- If LCase(Range("a" & r)) = ("*@*.?*") Then
-
- Range("a" & r).Interior.ColorIndex = 0
-
- Exit For
- Else
- Range("a" & r).Interior.ColorIndex = 3
- End If
-
- Next r
-
- End Sub
作者: d-snake 時間: 2019-12-15 16:30
用Regex
https://stackoverflow.com/questi ... essions-in-vbscript
作者: 黑道明 時間: 2019-12-15 17:59
睇唔明佢做緊咩.....
Google 到都係差唔多既野....睇唔明.......
C兄可唔可以解釋一下每句發生緊咩事......
我停留係IF THEN ELSE 同FOR LOOP 階段
其他未識住......
- Function ValidEmail(ByVal emailAddress)
- 'this function will use regular expressions to check an '
- 'email address for validity '
- 'instantiate regex object container, output boolean '
- Dim objRegEx, retVal
- 'using late binding, vbscript reference is not required '
- Set objRegEx = CreateObject("VBScript.RegExp")
- '.pattern -looks for a valid email address '
- With objRegEx
- .Pattern = "^\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$"
- .IgnoreCase = True
- End With
- retVal = objRegEx.Test(emailAddress)
- 'get rid of RegEx object '
- Set objRegEx = Nothing
- ValidEmail = retVal
- End Function
作者: myricky 時間: 2019-12-15 22:02
提示: 作者被禁止或刪除 內容自動屏蔽
作者: maninweb 時間: 2019-12-16 09:55
本身set 左 DV
= ISNUMBER(MATCH("*@*.?*",AF2:AF2,0))
去阻止D人入錯野.....
點知佢地用複製貼上....... ...
黑道明 發表於 2019-12-14 19:50
最簡單係用 filter, 做唔到十全十美, 都做到九成幾
https://h2.hkepc.com/forum/attachment.php?aid=2165243&k=7406112fa7b52bce6ffcbcc8ec520591&t=1781791658&sid=38c8OB9v6q

作者: myricky 時間: 2019-12-16 11:20
提示: 作者被禁止或刪除 內容自動屏蔽
作者: maninweb 時間: 2019-12-16 13:32
因為果 2 個 filter 只係簡單舉例, 只搵出無 . 及 @
其實個變化仲有好多玩法.
https://h2.hkepc.com/forum/attachment.php?aid=2165288&k=a3f785cff0b5b91c242a70fad496eb6f&t=1781791658&sid=38c8OB9v6q

作者: myricky 時間: 2019-12-16 13:42
提示: 作者被禁止或刪除 內容自動屏蔽
作者: maninweb 時間: 2019-12-16 17:24
最簡單方法係用 filter, 原先, 無乜點諗, 就將無 . 同 @ 嘅抽取嚟
諗深一層, 用 *@*.* 就基本上解決, 但係都有你引述的情況
再深一層, 用 ?*@?*.?* 就解決 .同 @ 之後缺字情況, 不過, 解決唔到 . 開頭, 咪用第二個 filter
我諗, 基本上解決百分之九十幾.
再有新情況, 就再改.
作者: d-snake 時間: 2019-12-18 16:00
成段code係一個function
ValidEmail("abc@test.com") 會return true
ValidEmail("abc@test") 會return false


