Page 1 of 1

Checking all textbox VBA

Posted: Thu Jun 07, 2018 9:13 pm
by revotion
ขอสอบถามหน่อยครับว่า อยากจะเช็ค Textbox ทุกอันว่าถ้ามีช่องไหนว่างให้แจ้งเป็น Msgbox ว่า กรุณาหรอกข้อมูลให้ครบด้วยครับ
ตอนนี้ทำได้แค่ textbox1 ถ้าเขียนแบบ textbox1 คงเขียนเยอะพอมีวิธีไหนที่เช็คแบบรวดเดียวบ้างครับ

Code: Select all

Private Sub CommandButton1_Click()
If Me.TextBox1.Value <> "" Then
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
emptyRow = WorksheetFunction.CountA(Range("B:B")) + 1
    Cells(emptyRow, 1).Value = TextBox1.Value
    Cells(emptyRow, 2).Value = TextBox2.Value
    Cells(emptyRow, 3).Value = TextBox3.Value
    Cells(emptyRow, 4).Value = TextBox4.Value
    Cells(emptyRow, 5).Value = TextBox5.Value
    Cells(emptyRow, 6).Value = TextBox6.Value
    Cells(emptyRow, 7).Value = TextBox7.Value
    Cells(emptyRow, 8).Value = TextBox8.Value
    Cells(emptyRow, 9).Value = TextBox9.Value
    Cells(emptyRow, 10).Value = TextBox10.Value
    Cells(emptyRow, 11).Value = TextBox11.Value
    Cells(emptyRow, 12).Value = TextBox12.Value
    Cells(emptyRow, 13).Value = TextBox13.Value
    MsgBox "บันทึกข้อมูลสำเร็จ", vbOKOnly + vbInformation, "บันทึกข้อมูลสำเร็จ"
Else
        MsgBox "กรุณาหรอกข้อมูลให้ครบด้วยครับ", vbCritical
End If

End Sub

Re: Checking all textbox VBA

Posted: Thu Jun 07, 2018 9:31 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Dim c As Control
For Each c In Me.Controls
    If VBA.Left$(c.Name, 7) = "TextBox" Then
        If c.Text = "" Then
            MsgBox c.Name & " can't be blank.", vbInformation
        End If
    End If
Next c
'Other code

Re: Checking all textbox VBA

Posted: Thu Jun 07, 2018 11:22 pm
by revotion
ขอบคุณครับ
มีคำถามใหม่ครับ พอดีจะทำให้ตัวบันทึกข้อมูล บันทึกลง Sheet แบบตาราง Table ครับ
ลองทำดูแล้วมันลงได้แค่แถวเดียวแล้วก็ไม่ไปต่อให้ครับ

Re: Checking all textbox VBA

Posted: Thu Jun 07, 2018 11:28 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
emptyRow = Worksheets("Data").Range("A" & Rows.Count).End(xlUp).Row + 1
'Other code