Page 1 of 1

สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 1:34 pm
by tutape
ผมได้ลองทำปุ่มบันทึกข้อมูลโดยใช้ code ด้านล่าง

Code: Select all

Public Sub entry_mode()
Dim blank_row As Single
    blank_row = Worksheets(db_sheet).Cells(1, 1).End(xlDown).Row + 1
With Worksheets(db_sheet)
    .Cells(blank_row, name_col).Value = UserForm1.TextBox1.Value
    .Cells(blank_row, surname_col).Value = UserForm1.TextBox2.Value
End With
End Sub
แต่พอรันดูแล้ว เกิดการผิดพลาดตรง

Code: Select all

.Cells(blank_row, name_col).Value = UserForm1.TextBox1.Value
ผมพยายามแก้ตามเอกสารแล้วก็ไม่ได้ รบกวนช่วยหน่อยนะครับ

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 1:40 pm
by snasui
:D ผมยังไม่เปิดไฟล์นะครับ ขอทราบว่า name_col คืออะไรครับ :?:

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 1:50 pm
by tutape
ืname_col น่าจะเป็นชื่อของ คอลัมน์หรือเปล่าครับ

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 1:57 pm
by snasui
:D ควรต้องทราบเองครับว่าคืออะไรและมีค่าเท่าใด

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 2:06 pm
by tutape
ืname_col คือ คอลัมน์ที่ชื่อว่า name ซึ่งเป็นคอลัมน์ที่ 1 ที่จะให้นำข้อมูลที่ได้จากการคีย์ข้อมูลใน textbox1 ใน userform1 ไปแสดง

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 2:12 pm
by snasui
:lol: มี Code บรรทัดไหนที่บอกว่า name_col คือ 1 แล้วยังครับ ถ้ามีแล้ว อยู่บรรทัดไหนครับ

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 2:25 pm
by tutape
โค้ดที่ผมลองเขียนเมื่อกดที่ปุ่ม "บันทึก"

Code: Select all

Const db_sheet = "db_student"
Const name_col = 1, surname_col = 2
Public Sub entry_mode()
Dim blank_row As Single
    blank_row = Worksheets(db_sheet).Cells(1, 1).End(xlDown).Row + 1
With Worksheets(db_sheet)
    .Cells(blank_row, name_col).Value = UserForm1.TextBox1.Value
    .Cells(blank_row, surname_col).Value = UserForm1.TextBox2.Value
End With
End Sub

พร้อมไฟล์ใหม่ครับ

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 2:28 pm
by snasui
:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Const db_sheet = "db_student"
Const id_col = 1
Const name_col = 2, surname_col = 3
Public Sub entry_mode()
    Dim blank_row As Single
    blank_row = Worksheets(db_sheet).Cells(Rows.Count, 1).End(xlUp).Row + 1
    With Worksheets(db_sheet)
        .Cells(blank_row, name_col).Value = UserForm1.TextBox1.Value
        .Cells(blank_row, surname_col).Value = UserForm1.TextBox2.Value
    End With
End Sub

Re: สร้างปุ่มบันทึก แล้วรัน VBA ผิดพลาด

Posted: Sun Mar 17, 2013 2:35 pm
by tutape
ขอบคุณครับ ได้แล้ว :thup: