返回列表 上一主題 發帖

要如何強制驗證TextBox空白就停止

要如何強制驗證TextBox空白就停止

想請問各位大大
目前想將TextBox驗證碼是否空白
如果空白就停止輸入
將畫面停格在輸入畫面
Dim A As Range


a1 = User.c1.Value
If a1 = "" Then MsgBox "第一欄不得空白": Exit Sub
If Application.CountBlank([U3:U99]) = 0 Then Range("U100") = a1: Exit Sub
For Each A In [U3:U99]
    If A = "" Then
        A.Value = a1
        Exit For
    End If
Next

但是我的程式改來改去
就算是空白會彈跳出警告視窗
還是會先將填好的資料寫入在Sheet
而發生空白錯誤以下的欄位才停止寫入

不知道該怎麼改才能完美驗證>"<
感激不盡!
Jared

我已經找到方法了(^口^)
將程式更改為

With Sheet10
   .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Resize(, 5).Value = Ar
   End With

就可以往B2欄寫入資料了
Jared

TOP

回復 3# Hsieh


    想請問一下大大
    當我想要將寫入位置更改為B1 欄位開始
    為什麼就無法新增第二筆呢?
    將這行程式 Cells(i, 1).Resize(, 3) = Ar
    更改為          Cells(i, 2).Resize(, 3) = Ar
    程式就動不了了 >"<
Jared

TOP

回復 3# Hsieh


    感謝大大詳解
    但欄位如果變多,例如有5個欄位要驗證
    是不是有什麼地方沒改到呢?
    就沒辦法 順利驗證和連續往下填寫資料了 >"<

    Sub test()
Dim Ar, a1, a2, a3, a4,a5,i %
a1 = TextBox1
a2 = TextBox2
a3 = TextBox3
a4 = TextBox4
a5 = TextBox5
Ar = Array(a1, a2, a3,a4,a5)
If a1 <> "" And a2 <> "" And a3 <> "" And a4 <> "" And a5 <> "" Then
   i = 1
   Do Until Cells(i, 1) = ""
       i = i + 1
   Loop
   Cells(i, 1).Resize(, 5) = Ar
   Else
   For i = 0 To 2
      If Ar(i) = "" Then MsgBox "欄位" & i + 1 & "空白未填寫"
   Next
End If
End Sub
Jared

TOP

本帖最後由 Hsieh 於 2013-3-19 17:32 編輯

回復 2# Jared
  1. Sub test()
  2. Dim Ar, a1, a2, a3, i%
  3. a1 = TextBox1
  4. a2 = TextBox2
  5. a3 = TextBox3
  6. Ar = Array(a1, a2, a3)  '欄位儲存於陣列
  7. If a1 <> "" And a2 <> "" And a3 <> "" Then  '判斷所有值都不等於空白
  8.    i = 1   '第一列開始
  9.    Do Until Cells(i, 1) = ""  'A欄為空白則停止迴圈
  10.        i = i + 1  '向下一列
  11.    Loop
  12.    Cells(i, 1).Resize(, 3) = Ar  'A欄空白向右擴展成欄位數量
  13.    Else  '其中有空白值則執行以下程序
  14.    For i = LBound(Ar) To UBound(Ar)  '陣列索引值執行迴圈
  15.       If Ar(i) = "" Then MsgBox "欄位" & i + 1 & "空白未填寫"
  16.    Next
  17. End If
  18. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 1# Jared

我附上一個測試檔案
當我只要第二欄空白
第一欄還是會寫入
要如何才能都填上驗證完才寫入呢?

    測試檔X.zip (34.69 KB)
Jared

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題