
ตัวอย่างการ Set Forcus เพื่อให้ Active ที่ TextBox1 หลังจากวางข้อมูลแล้วครับ
Code: Select all
Private Sub CommandButton1_Click()
If Me.TextBox1.Value <> "" Then
Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
Me.TextBox1.Text = Application.Trim(Me.TextBox1.Text)
'Find first empty row in database
irow = ws.Cells(Rows.Count, 2) _
.End(xlUp).Offset(1, 0).Row
'Copy The Data To The Database
ws.Cells(irow, 1).Value = Me.TextBox1.Value
ws.Cells(irow, 2).Value = Me.TextBox2.Value
ws.Cells(irow, 2).Select
Me.TextBox1 = ""
Me.TextBox2 = ""
Me.TextBox1.SetFocus
Else
MsgBox "no product", vbCritical
End If
End Sub
ปกติแล้วการ Load UserForm ที่มีการเขียนอย่างซับซ้อนโดยมี ComBobox, ListBox จำนวนมากที่จะต้อง Add ค่าต่าง ๆ เพื่อให้ User เลือกใช้ หากต้องทำการ Load, Unload ซ้ำ ๆ จะทำให้โปรแกรมทำงานช้า จึงควรหลีกเลี่ยงที่จะทำเช่นนั้น ควรโหลดขึ้นมาครั้งเดียว เมื่อไม่ใช้แล้วค่อยปิดไป
แต่สำหรับ UserForm ที่ทำมานี้ไม่ได้ซับซ้อน จะใช้ Code เดิมก็ไม่มีปัญหาใดครับ