- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2017-3-11 16:53
| 只看該作者
本帖最後由 GBKEE 於 2017-3-12 07:46 編輯
回復 3# sillykin
試試看- Private Sub TextBox3_Change()
- Dim Msg As Boolean
- '基本身分證驗證,
- '1.為要10碼 -> Len(TextBox3) = 10
- '2 第一碼為英文字母後9碼全為數字 ->TextBox3.Text Like "[A-z]#########"
-
- '**** 但實際上政府有身分證的驗證規則 *****
- Msg = Len(TextBox3) = 10 And TextBox3.Text Like "[A-z]#########" '其中一項不為真 Msg =False
- 'Label18.為表單上,統一編號的Label控制項
- Label18.BackColor = IIf(Msg, &HFFFFC0, &HFF&) '指定物件的背景色彩。
-
- End Sub
- Private Sub CommandButton2_Click() '表單上資料輸入,請新增一按鈕,此按鍵紐的程式碼
- Dim Msg As String, Ar(), E As Variant, Rng As Range
- Ar = Array(TextBox2, TextBox3, TextBox4, TextBox5, TextBox6) '控制項置入陣列
- '********防呆程式碼**********
- Msg = IIf(Label18.BackColor = &HFF&, "統一編號 有錯誤", "")
- For Each E In Ar
- If E = "" Then Msg = Msg & IIf(Msg <> "", vbLf, "") & "資料輸入不齊全": Exit For
- Next
- If Msg <> "" Then MsgBox Msg: Exit Sub
- Set Rng = Range("b50:P50") '指定的位置
- E = Application.CountA(Rng) '計算位置中有資料的個數
- '**指定位置,資料位置的檢查
- If E > 0 Then
- If E = Rng.Cells.Count Then MsgBox "資料已滿 ! 請檢查 ": Exit Sub
- If Rng.Cells(E).Address <> Rng.Cells(Rng.Cells.Count).End(xlToLeft).Address Then MsgBox "資料位置有誤 ! 請檢查 ": Exit Sub
- End If
-
- '********防呆結束**********
- If MsgBox("確定 輸入資料!", vbYesNo) = vbNo Then Exit Sub
- '******資料輸入*************************************
- With Rng.Offset(0, E)
- .Resize(UBound(Ar) + 1, 1).Value = Application.WorksheetFunction.Transpose(Ar)
- End With
- End Sub
複製代碼 |
|