snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ch.jew10 wrote: Sun Jan 27, 2019 11:30 am
ผมศึกษาและหา code สร้าง user form เพื่อให้กรอกข้อมูล ช่อง AWB No.และ Job No. เป็นการ scan Barcode
ตอนนี้หากกรอกข้อมูลครบทุกช่องแล้ว ต้องกดปุ่ม Add data ข้อมูลจึงจะถูกนำไปบันทึก ผมต้องการนำปุ่ม Add data ออก
โดยหากกรอกข้อมูลแล้ว เมื่อ scan AWB. no. และ job no. และจะให้ข้อมูลไปบันทึกเลย จึงขอคำแนะนำว่าต้องปรับแต่ง code
อย่างไรบ้างครับ ส่วนปุ่ม close ยังให้คงอยู่เพื่อเวลาต้องการปิด user form ครับ ขอบคุณมากครับ
Private Sub TextBox_Job_no_Change()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("3G_repair")
'find first empty row in database
iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'check for a Name number
If Trim(Me.TextBox_round.Value) = "" Then
Me.TextBox_date.SetFocus
MsgBox "Please complete the form"
Exit Sub
End If
'copy the data to the database
If Me.TextBox_Job_no.Value <> "" Then
ws.Cells(iRow, 3).Value = Format(Me.TextBox_date.Value, "MM/DD/YYYY")
ws.Cells(iRow, 5).Value = Me.TextBox_AWB.Value
ws.Cells(iRow, 6).Value = Format(Me.TextBox_Date_sent.Value, "MM/DD/YYYY")
ws.Cells(iRow, 4).Value = Format(Now, "DD/MM/YYYY") & " ; " & Format(Now, "HH:MM")
ws.Cells(iRow, 7).Value = Me.TextBox_remark.Value
ws.Cells(iRow, 8).Value = Me.TextBox_round.Value
ws.Cells(iRow, 2).Value = Me.TextBox_Job_no.Value
Me.TextBox_Job_no.Value = ""
MsgBox "Data added", vbOKOnly + vbInformation, "Data Added"
End If
'clear the data
Me.TextBox_AWB.Value = ""
Me.TextBox_remark.Value = ""
Me.TextBox_date.SetFocus
End Sub
Private Sub TextBox_Job_no_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("3G_repair")
'find first empty row in database
iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'check for a Name number
If Trim(Me.TextBox_round.Value) = "" Then
Me.TextBox_date.SetFocus
MsgBox "Please complete the form"
Exit Sub
End If
'copy the data to the database
If Me.TextBox_Job_no.Value <> "" Then
ws.Cells(iRow, 3).Value = Format(Me.TextBox_date.Value, "MM/DD/YYYY")
ws.Cells(iRow, 5).Value = Me.TextBox_AWB.Value
ws.Cells(iRow, 6).Value = Format(Me.TextBox_Date_sent.Value, "MM/DD/YYYY")
ws.Cells(iRow, 4).Value = Format(Now, "DD/MM/YYYY") & " ; " & Format(Now, "HH:MM")
ws.Cells(iRow, 7).Value = Me.TextBox_remark.Value
ws.Cells(iRow, 8).Value = Me.TextBox_round.Value
ws.Cells(iRow, 2).Value = Me.TextBox_Job_no.Value
Me.TextBox_Job_no.Value = ""
MsgBox "Data added", vbOKOnly + vbInformation, "Data Added"
End If
'clear the data
Me.TextBox_AWB.Value = ""
Me.TextBox_remark.Value = ""
Me.TextBox_date.SetFocus
End Sub