EXCEL 輸入身分證字號限制


joblyc017 wrote:
可能我的回覆方式造...(恕刪)



先說我不是樓主,我只是個好奇的中年大叔。
這個公式似乎只驗證輸入字元有沒有符合要求,但是對於身份證字號的正確好像沒辦法判定,剛剛我把字號最後一碼數字故意打錯也是true的。
起初就有闡明我提供解法規則是,樓主要求的「一大寫英文字母+九碼數字」,詳4樓
若是要完整的符合身分證驗證規則,請參考5樓nwcs大所提供的教學網站
達子 wrote:
這種邏輯能簡單用VBA來實現...(恕刪)


16行程式碼可解決


不過因為樓主那個“屁”,所以…

'有檢查碼核對功能、有格式檢查功能




如果不想用FUNCTION來檢查,改放到Worksheet_Change,就可以限制在錯誤時無法輸入


這種身份證的範例,純函數、VBA(有比較長的程式碼,大約都40行以上),隨便GOOGLE就一大堆
精簡版vba就讓我保留吧



臭到你了嗎? XD

這個我很早就抄了
但我不是要驗證...
我是要【限制】該欄位只能輸入大寫英文+數字一共10位
這邏輯不是我要的

依照我的需求,我看了這串,的確是連屁都寫不出來
只能在座位上放屁 噗噗噗
nwcs wrote:
樓主好大的屁..Excel...(恕刪)
我不是學寫程式的...
只是個拖累大家平均薪資的小魯蛇

所以... 不管是16行程式碼還是1.6行
我基本上都只能照抄
頂多行數少一點,我可以學著去理解邏輯而已 XD

我還是看看4樓吧!
snare wrote:
16行程式碼可解決...(恕刪)
目前按照4樓大大提供的方式,順利解決身分證字號的輸入問題....
接下來依照邏輯推理來修改公式,看看能不能一起解決居留證號與護照號碼的問題 XDDD

black79815 wrote:
我是要【限制】該欄位只能輸入大寫英文+數字一共10位...(恕刪)


black79815 wrote:
不管是16行程式碼還是1.6行....(恕刪)



不好意思,我能力不足,1.6行的程式碼我寫不出來,如果不考慮檢查碼、格式是否正確
把四樓的寫法改成VBA,最短我只能寫到3行,另外4行是無聊上色用的




'無檢查碼核對功能、無格式檢查功能,只檢查1大寫英文+9個數字
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing And Range("A1") <> "" Then
If Asc(Target) >= 65 And Asc(Target) <= 90 And IsNumeric(Right(Target, 9)) And Len(Target) = 10 Then
Target.Interior.Pattern = xlNone
Else
Target.Interior.Color = 255: Target = ""
End If
End If
End Sub

放屁的人最先臭到的不是別人,提問或回答者應該都不是來放屁或聞屁的,網路禮儀還是要顧到一些.
不過還是恭喜樓主能解決問題.
black79815 wrote:
臭到你了嗎? XD
...(恕刪)
其實基本上依照4F大大提供的方法
已經可以從EXCEL中,很順利解決輸入身分證字號的問題
並且可以很順利地套用開頭需為大寫英文的資料

感恩~
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!