返回列表 上一主題 發帖

vba求援

vba求援

項目UserForm26.Show,要如何輸入完B37∼B49往右下在輸入C37∼C49......到M37~M49
項目UserForm12.Show,要如何輸入完B50∼B54往右下在輸入C50∼C54......到P50~P54
及身分證驗證

表單輸入格式.rar (52.8 KB)

回復 2# Kubi


    感謝回覆...
但試了還是不行,可能是自身能力不太好

TOP

本帖最後由 sillykin 於 2017-3-11 22:53 編輯

回復 4# GBKEE


    感謝G大的回覆
但要輸入到D50發生錯誤
身分證無法驗證...不知是否我放錯位置了嗎???
請大師指點

資料有誤.JPG (150.77 KB)

資料有誤.JPG

表單輸入格式.rar (60.68 KB)

TOP

本帖最後由 sillykin 於 2017-3-12 11:26 編輯

回復 6# GBKEE


    謝謝G大的回覆
    巳刪除此條  If Rng.Cells(Rng.Cells.Count).End(xlToLeft).Address <> Rng.Cells(1).Address Then MsgBox "資料位置有誤 ! 請檢查 ": Exit Sub可正常運作
,但輸入身分證還是無法檢驗是否輸入正確與否?
是要在加入政府驗證程序嗎???
例如
      Private Sub Worksheet_Change(ByVal Target As Range) '借戶身分證檢查
Dim T, i%, S
With Target
      If .Count > 1 Then Exit Sub
      If Intersect([B51:P51], .Cells) Is Nothing Then Exit Sub
      Application.EnableEvents = False
      .Value = UCase(.Value)
      Application.EnableEvents = True
      
      If Not .Value Like "[A-Z]#########" Then MsgBox "身份證輸入錯誤!!": Exit Sub
      T = InStr("ABCDEFGHJKLMNPQRSTUVXYWZIO", Left(.Value, 1)) + 9 & Mid(.Value, 2, 8)
      For i = 1 To 10
          S = S + Mid(T, i, 1) * Left(11 - i, 1)
      Next i
      T = Right(10 - Right(S, 1), 1)
      If T <> Mid(.Value, 10, 1) Then MsgBox "身份證字號錯誤!檢查碼:" & T
End With
小妹不才

TOP

[版主管理留言]
  • GBKEE(2017/3/12 20:12): 檢查身分證最後一碼的邏輯我不清楚.

回復 8# GBKEE


    謝謝GBKEE耐心教導及指教
但小妹試了身分證輸入錯的身分證也一樣可輸入
而不會出現錯誤請更正
能否在請GBKEE大大能在指導一下嗎???

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題