Page 1 of 1

vba จะทำปุ่มค้นหาจากตาราง เพื่อ Update ข้อมูล ต้องปรับโค้ดอย่างไรครับ

Posted: Thu Jul 28, 2022 6:25 pm
by 10idlnw
ผมสร้าง UserForm จัดเก็บข้อมูล ติดตรงปุ่ม ค้นหา เพื่ออัปเดทข้อมูล พอกดแล้วก็ขึ้น error ตามภาพ ผมต้องปรับโ่ค้ดอย่างไรให้สามารถค้นหาข้อมูลเพื่ออัปเดทข้อมูลใน "ตาราง" ได้ แม้ตารางจะถูกย้ายไปตำแหน่งไหนก็ตาม โดยไม่เกิดข้อผิดพลาดครับ

2022-07-28_18-19-11.jpg

Code: Select all

Private Sub Cmb2_Click()
'ค้นหา
Dim CaseNo As String
CaseNo = Trim(Me.TextBox1.Text)

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
Set tbl = ws.ListObjects("MyContact")

Dim lRow As Long
lRow = tbl.Range.Rows.Count
With lRow
    Me.TextBox1.Text = .Range(1)
    Me.TextBox2.Text = .Range(2)
    Me.TextBox3.Text = .Range(3)
End With

End Sub

Private Sub Cmb3_Click()
'แก้ไข
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
Set tbl = ws.ListObjects("MyContact")

Dim lRow As ListRow
Set lRow = tbl.ListRows.Add
With lRow
.Range(1) = Me.TextBox1.Text
.Range(2) = Me.TextBox2.Text
.Range(3) = Me.TextBox3.Text
End With

End Sub


Re: vba จะทำปุ่มค้นหาจากตาราง เพื่อ Update ข้อมูล ต้องปรับโค้ดอย่างไรครับ

Posted: Thu Jul 28, 2022 8:42 pm
by snasui
:D ตัวแปร lRow ไม่ใช่ Object (เช่น Workbook, Worksheet, Range ฯลฯ) จะใช้ With ไม่ได้ครับ

หากเป็นการทำงานกับชีตปัจจุบัน เปลี่ยน with lRow เป็น with activesheet แทน เปลี่ยน .range(1) เป็น .cells(1) แทน เช่นนี้เป็นต้นครับ

Re: vba จะทำปุ่มค้นหาจากตาราง เพื่อ Update ข้อมูล ต้องปรับโค้ดอย่างไรครับ

Posted: Thu Jul 28, 2022 9:30 pm
by 10idlnw
ขอบคุณมากครับอาจารย์ ผมนำไปปรับใช้ได้ใกล้เคียงกับที่ต้องการแล้วครับ