ได้แล้วครับ
แต่ยังไม่ได้ตามที่ตั้งใจไว้
คือ เมื่อมี MsgBox ฟ้องว่า "มีรหัสนี้แล้ว ไม่สามารถบันทึกได้" แล้วให้แก้ไขข้อมูลในช่อง เลขที่บัญชีใหม่ เมื่อแก้แล้วจะให้บันทึกข้อมูลให้เรียบร้อย
ผมยังปรับ code ไม่ได้ มันจะต้องเขียนเพิ่ม หรือใช้คำสั่งอื่นมาช่วย
รบกวนชี้แนะด้วยนะครับ โดย code ที่ผมปรับใหม่ คือ
Code: Select all
Private Sub cmdSave_click_Click()
Sheets("db_bank").Select
Sheets("db_bank").Range("I1").Value = Account_number.Value
Dim Lastrow As Integer
If Range("i1") = "" Then Exit Sub
If Not Sheets("db_bank").Columns("A:A").Find(Range("i1"), LookIn:=xlValues) Is Nothing Then
MsgBox "มีรหัสนี้แล้ว ไม่สามารถบันทึกได้"
Else
Lastrow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Cells(1 + Lastrow, 1).Offset(0, 0).Value = Account_number.Value
Cells(1 + Lastrow, 1).Offset(0, 1).Value = Account_Name.Value
Cells(1 + Lastrow, 1).Offset(0, 2).Value = name_fark.Value
Cells(1 + Lastrow, 1).Offset(0, 3).Value = tel.Value
Cells(1 + Lastrow, 1).Offset(0, 4).Value = tel_home.Value
Cells(1 + Lastrow, 1).Offset(0, 5).Value = bank_name.Value
End If
If Answer = vbYes Then
MyNote = "ระบบบันทึกข้อมูลเรียบร้อยแล้ว"
Answer = MsgBox(MyNote, vbQuestion, "บันทึกข้อมูล")
Account_Name.Value = ""
Account_number.Value = ""
name_fark.Value = ""
tel.Value = ""
tel_home.Value = ""
bank_name.Value = ""
End If
Account_number.Value = "" '[color=#BF0000]สั่งให้ลบข้อมูล textBox ชื่อ Account_number[/color]
Sheets("title").Select
Range("c4").Select
End Sub
แล้วจะเขียน code ให้แก้ข้อมูลเฉพาะในช่อง Account_number เพื่อไม่ให้รหัสซ้ำ ส่วนช่องอื่นยังคงข้อมูลไว้ ผมจะต้องเขียน code ต่อจากบรรทัด
Account_number.Value = "" '
สั่งให้ลบข้อมูล textBox ชื่อ Account_number อย่างไรครับ
ที่ผมลอง คือ นำ code ด้านล่างนี้ในส่วนบนมาวางต่อท้ายบรรทัดดังกล่าว ปรากฎว่าก็ยังไม่ได้อย่างที่ตั้งใจไว้
Code: Select all
Lastrow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Cells(1 + Lastrow, 1).Offset(0, 0).Value = Account_number.Value
Cells(1 + Lastrow, 1).Offset(0, 1).Value = Account_Name.Value
Cells(1 + Lastrow, 1).Offset(0, 2).Value = name_fark.Value
Cells(1 + Lastrow, 1).Offset(0, 3).Value = tel.Value
Cells(1 + Lastrow, 1).Offset(0, 4).Value = tel_home.Value
Cells(1 + Lastrow, 1).Offset(0, 5).Value = bank_name.Value
End If
If Answer = vbYes Then
MyNote = "ระบบบันทึกข้อมูลเรียบร้อยแล้ว"
Answer = MsgBox(MyNote, vbQuestion, "บันทึกข้อมูล")
Account_Name.Value = ""
Account_number.Value = ""
name_fark.Value = ""
tel.Value = ""
tel_home.Value = ""
bank_name.Value = ""
End If
รบกวนต่ออีกนะครับ
ผมเริ่มสนุกกับการเขียน vba แล้วละครับ แต่ต้องใช้ความพยายามสูงมากศึกษาข้อมูลเยอะมาทีเดียว
ขอบคุณความรู้ที่อาจารย์ให้มาครับ