:!: โปรดทราบ Image
    1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
    2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
      1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
      2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
    3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
    4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
    5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ ==> กำหนดขนาดตัวอักษรใน Browser Image

ค้นหา / แก้ไข ข้อมูล

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

ค้นหา / แก้ไข ข้อมูล

#1

Postby mmnck » Thu Aug 10, 2017 5:40 pm

สวัสดีคะ หนูเพิ่งศึกษาเรื่องการใช้งาน VBA คะ อยากทราบในส่วนของการกรอกชื่อ / รหัสพนักงาน ในการค้นหาข้อมูล แล้วนำมาแสดงตาม Textbox และ Combobox ต่าง ๆ เพื่อทำการตรวจสอบและแก้ไขได้

#ในส่วนของการเพิ่มข้อมูล ทำเสร็จเรียบร้อยแล้วคะ ยังติดตรงการค้นหา / แก้ไขข้อมูลคะ
You do not have the required permissions to view the files attached to this post.

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#2

Postby mmnck » Fri Aug 11, 2017 10:19 pm

รบกวนช่วยสอนวิธีการค้นหาข้อมูลต่างจาก Form ด้วย ID หรือ ชื่อ แล้วขึ้นข้อมูลต่าง ๆ ให้แก้ไข

อยู่ในชีทแรก ในส่วนของเมนู ค้นหาพนักงานคะ

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#3

Postby snasui » Sat Aug 12, 2017 8:43 pm

:D Code ที่เขียนสำหรับการค้นหาคือ Procedure ใด ติดขัดบรรทัดใดครับ หากยังไม่เขียนให้เขียนมาก่อนแล้วถามกันเฉพาะที่ติดปัญหาครับ :?:

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#4

Postby mmnck » Sun Aug 13, 2017 12:07 am

ค้นหาจากรหัสพนักงาน ทำได้แล้วค่ะ แต่ในช่อง no ต้องการให้ป้อนได้ทั้งชื่อ และ รหัส พนักงานต้องปรับตรงไหนบ้างค่ะ
** ตอนนี้ในช่อง no ใส่ได้แค่รหัสพนักงานที่มีตัวอักษรนำหน้าคะ
** และบางฟิลด์ที่เป็นวันที่ เวลาค้นหา วันที่ไม่มาคะ แต่จะมาในรูปแบบของตัวเลขจำนวนเต็ม
code จะอยู่ใน Userform ชื่อ searchper คะ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#5

Postby snasui » Mon Aug 14, 2017 10:04 pm

:D ตัวอย่างการปรับ Code ครับ

Code: Select all

On Error Resume Next
With Worksheets(2)
    If Application.CountIf(.Range("a4", .Range("a" & .Rows.Count).End(xlUp)), TextBox13.Text) Then
        Set myRange = .Range("A:P")
    ElseIf Application.CountIf(.Range("b4", .Range("b" & .Rows.Count).End(xlUp)), TextBox13.Text) Then
        Set myRange = .Range("B:P")
    End If
End With
'Other code...


Field ที่เป็นวันที่หากต้องการจะให้มาในรูปแบบของวันที่จะต้องจัด format เข้ามาช่วยครับ เช่น Application.Text(txtBox100.text,"dd/mm/yyyy")) เป็นต้น

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#6

Postby mmnck » Wed Aug 16, 2017 3:27 pm

ทำการปรับเปลี่ยนในส่วนของการค้น หาในเรื่องของชื่อละรหัสแล้วคะ แต่พบปัญหาเลยเอาเงื่อนไขทั้งหมดมาใส่ไว้ด้วย จากนั้นมีปัญหาในส่วนของการ save คะ code จะอยู่ใน User form = SearchPer คะ

ไม่แน่ใจว่าอาจจะใส่ หรือ ปรับเปลี่ยน ตรงไหนผิดรึป่าวคะ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#7

Postby snasui » Wed Aug 16, 2017 6:02 pm

:D ค่อย ๆ ถามตอบกันไปครับ

ก่อนจะไปปัญหาในการ Save ให้ชี้แจงมาว่าเกิดปัญหาใดกับการใช้ Code ด้านบนครับ

Code ทีผมเขียนไว้ให้เขียนติดกันตามที่ผมโพสต์ไป โดยวางไว้หลังจากบรรทัด On Error Resume Next ส่วน Code ที่เหลือก็เรียงต่อกันด้านล่าง ให้ปรับมาตามนี้ก่อน ติดตรงไหนค่อยถามกันต่อครับ

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#8

Postby mmnck » Wed Aug 16, 2017 7:24 pm

ในส่วนของการปรับ ติดปัญหาตรงที่
1.ค้นหาจากรหัสได้คะ แต่ต้องขึ้นต้นด้วยตัวอักษร ในส่วนของชื่อ ไม่สามารถกดค้นหาได้
2.ในส่วนของวันที่ ดึงค่ามาตามรูปแบบเดิมได้ แต่พอกดบันทึกส่งค่ากลับไปยังหน้า excel เดือนกับวันที่สลับกันอยู่คะ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#9

Postby snasui » Wed Aug 16, 2017 9:28 pm

:D จาก Code ในไฟล์ที่แนบมา ให้ Mark บรรทัดหลัง With ให้เป็น Comment เพราะเป็นการ Assign ค่าซ้ำครับ

ตัวอย่าง Code จะได้เป็นด้านล่าง

Code: Select all

On Error Resume Next
With Worksheets(2)
    If Application.CountIf(.Range("a4", .Range("a" & .Rows.Count).End(xlUp)), TextBox13.Text) Then
        Set myRange = .Range("A:P")
    ElseIf Application.CountIf(.Range("b4", .Range("b" & .Rows.Count).End(xlUp)), TextBox13.Text) Then
        Set myRange = .Range("B:P")
    End If
End With
'Set myRange = Worksheets(2).Range("A:P")


การส่งค่ากลับไปอยู่ที่ Procedure ใด บรรทัดใดแจ้งมาด้วยเสมอครับ

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#10

Postby mmnck » Wed Aug 16, 2017 10:26 pm

ขอบคุณคะ ตอนนี้สามารถค้นหาจากชื่อได้ แต่ติดปัญหาตรงที่แต่ช่องจะขึ้นไม่ตรงกันคะ

> ค้นหาจากรหัส ข้อมูลขึ้นมาตรง
> ปัญหาตรงการค้นหาจากรายชื่อ ชื่อพนักงานไปอยู่ในช่องของรหัสพนักงาน
code ส่วนค้นหามูลจะอยู่ใน user form "searchPer" ภายใต้ปุ่ม Search

และบันทึกข้อมูลในวันที่ไม่ได้คะ
> ตอนดึงเข้ามาเพื่อแสดงข้อมูล เข้ามาได้ปกติ พอกดบันทึกค่าของวันที่และเดือนจะสลับกันคะ
code ส่วนบันทึกของมูลจะอยู่ใน user form "searchPer" ภายใต้ปุ่ม Save
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#11

Postby snasui » Wed Aug 16, 2017 10:48 pm

:D ทำให้ผ่านไปทีละฟังก์ชั่นครับ

ตัวอย่างการปรับ Code สำหรับการ Search ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim l As Long
    On Error Resume Next
    With Worksheets(2)
        If Application.CountIf(.Range("a4", .Range("a" & .Rows.Count).End(xlUp)), TextBox13.Text) Then
            'Set myRange = .Range("A:P")
            l = Application.Match(TextBox13.Text, .Range("a:a"), 0)
        ElseIf Application.CountIf(.Range("b4", .Range("b" & .Rows.Count).End(xlUp)), TextBox13.Text) Then
            'Set myRange = .Range("B:P")
            l = Application.Match(TextBox13.Text, .Range("b:b"), 0)
        End If
        'Set myRange = Worksheets(2).Range("A:P")
        TextBox14.Value = .Cells(l, 1).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 1, False)
        TextBox2.Value = .Cells(l, 2).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 2, False)
        ComboBox1.Value = .Cells(l, 3).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 3, False)
        ComboBox3.Text = .Cells(l, 4).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 4, False)
        ComboBox2.Text = .Cells(l, 5).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 5, False)
        ComboBox4.Text = .Cells(l, 6).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 6, False)
        TextBox3.Value = .Cells(l, 7).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 7, False)
        TextBox9.Value = .Cells(l, 8).Value ' Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 8, False)
        TextBox4.Value = .Cells(l, 9).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 9, False)
        TextBox10.Value = .Cells(l, 10).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 10, False)
        TextBox5.Value = .Cells(l, 11).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 11, False)
        TextBox6.Value = .Cells(l, 12).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 12, False)
        TextBox11.Value = .Cells(l, 13).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 13, False)
        TextBox7.Value = .Cells(l, 14).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 14, False)
        TextBox8.Value = .Cells(l, 15).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 15, False)
        TextBox12.Value = .Cells(l, 16).Value 'Application.WorksheetFunction.VLookup(TextBox13.Text, myRange, 16, False)
        TextBox12.Value = .Cells(l, 17).Value 'Application.Text(TextBox12.Text, "dd/mm/yyyy")
        'Other code
    End With
End Sub


หากผ่านแล้ว ในส่วนของการ Save อธิบายมาด้วยว่าโค้ดบรรทัดใดที่มีปัญหาตามที่กล่าวมาครับ

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#12

Postby mmnck » Wed Aug 16, 2017 11:03 pm

ชในส่วนของการค้นหา ยังติดในเรื่องของการดึงวันที่มา

> เมื่อป้อนรหัส / ชื่อ ข้อมูลมาตรงทุกอย่าง แต่ติดปัญหาที่วันที่ โดยที่ วันที่ และ เดือน จะสลับกันอยู่คะ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#13

Postby snasui » Wed Aug 16, 2017 11:26 pm

:D ดูตัวอย่าง Code เดิมที่ผมเคยปรับไปให้ว่าเป็นเช่นไรแล้วลองปรับมาก่อน ติดตรงไหนค่อยถามกันต่อครับ

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#14

Postby mmnck » Wed Aug 16, 2017 11:38 pm

Code: Select all

TextBox12.Value = Application.Text(TextBox12.Text, "dd/mm/yyyy")


ลองปรับโดยการเอา Textbox12 ที่ใช้ในการเก็บวันที่เพื่อใช้ดึงในการค้นหาและการบันทึกแล้ว แต่วันที่ก็ยังเพี้ยนอยู่เลยคะ

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#15

Postby snasui » Wed Aug 16, 2017 11:49 pm

:D ลองปรับเป็นด้านล่างครับ

Code: Select all

TextBox12.Value = Application.Text(.Cells(l, 17).Value2,"dd/mm/yyyy")

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#16

Postby mmnck » Thu Aug 17, 2017 12:14 am

วันที่ก็สลับกันอยู่คะ

จะใส่ วันที่ 10 / 7/ 2537
แต่เวลาบันทึกลง excel จะได้ 7 / 10 / 2537

code ของการบันทึกจะอยู่ใน searchPer ในปุ่ม Save
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#17

Postby snasui » Thu Aug 17, 2017 6:50 am

:D การดึงค่ามาแสดงกับการบันทึกกลับไปต้องจัดการแยกต่างหากจากกาัน ตามโพสต์ด้านบนเป็นการจัดการกับปุ่ม Search เท่านั้น เมื่อได้คำตอบในขั้นตอนนี้แล้วควรแจ้งผลมาด้วยครับ

กรณีบันทึกกลับไปยัง Worksheet ก็ต้องปรับ Code ใหม่ การดึงมาถูกตามรูปแบบที่ต้องการแล้วก็ไม่ใช่ว่าจะบันทึกกลับไปแล้วจะยังได้รูปแบบตรงกับที่ต้องการครับ

ตัวอย่าง Code ดูที่ Link นี้ครับ http://www.snasui.com/viewtopic.php?t=9562#p59774

mmnck
Member
Member
Posts: 10
Joined: Thu Aug 10, 2017 12:44 am

Re: ค้นหา / แก้ไข ข้อมูล

#18

Postby mmnck » Thu Aug 17, 2017 3:34 pm

ขอบคุณมากคะ ตอนนี้บันทึกลงในรูปแบบของวันที่ได้แล้วคะ
แต่เวลาแก้ไข หากแก้ไขโดยค้นหาจากรหัส สามารถบันทึกได้ปกติคะ

ค้นหาจากชื่อพนักงาน จะมีปัญหาในการบันทึกคะ
Code จะอยู่ใน searchPer ในส่วนของปุ่ม Save คะ



Code: Select all

Private Sub CommandButton3_Click()
 Dim Row As Long
    Row = Application.Match(TextBox13.Text, Sheets(2).Range("a:a"), 0)
    With Sheets(2)
        .Cells(Row, 1).Value = TextBox13.Text
        .Range("a" & Row).Value = TextBox14.Text

       .Cells(Row, 2).Value = TextBox2.Text
       .Cells(Row, 3).Value = ComboBox1.Text
       .Cells(Row, 4).Value = ComboBox3.Text
       .Cells(Row, 5).Value = ComboBox2.Text
       .Cells(Row, 6).Value = ComboBox4.Text
       .Cells(Row, 7).Value = TextBox3.Text
       .Cells(Row, 8).Value = TextBox9.Text
       .Cells(Row, 9).Value = TextBox4.Text
       .Cells(Row, 10).Value = TextBox10.Text
       .Cells(Row, 11).Value = TextBox5.Text
       .Cells(Row, 12).Value = TextBox6.Text
       .Cells(Row, 13).Value = TextBox11.Text
       .Cells(Row, 14).Value = TextBox7.Text
       .Cells(Row, 15).Value = TextBox8.Text
       .Cells(Row, 16).Value = WorksheetFunction.Text(TextBox12.Value, "dd/mm/yyyy")
             
    End With
    MsgBox ("Save Complete")

End Sub
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21609
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ค้นหา / แก้ไข ข้อมูล

#19

Postby snasui » Thu Aug 17, 2017 5:56 pm

mmnck wrote:ขอบคุณมากคะ ตอนนี้บันทึกลงในรูปแบบของวันที่ได้แล้วคะ
แต่เวลาแก้ไข หากแก้ไขโดยค้นหาจากรหัส สามารถบันทึกได้ปกติคะ

ค้นหาจากชื่อพนักงาน จะมีปัญหาในการบันทึกคะ
Code จะอยู่ใน searchPer ในส่วนของปุ่ม Save คะ


:D มีปัญหาลักษณะใดช่วยอธิบายรายละเอียดประกอบ จะได้ตอบต่อไปจากนั้นครับ


Return to “Excel”

Who is online

Users browsing this forum: Google [Bot], pakorn and 39 guests