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

ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#41

Post by snasui »

:D แจ้งวิธีการทดสอบมาอีกรอบครับ

Fom ใด กรอกค่าใด กดปุ่มใด จับภาพให้เห็นว่าปัจจุบันเป็นค่าใด และถ้าถูกต้องผลลัพธ์จะได้แบบใด อาจะโดยการกรอกข้อมูลลงไปตรง ๆ หรือคีย์ลง Label ในขั้นตอนของการอธิบายภาพ จะได้เข้าใจตรงกันครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#42

Post by Benmore »

Userform 1 เมือเลือกข้อมูลต่างๆ
111111.png
เมื่อเลือกข้อมูลใหม่ใน combobox ข้อมูลใน textbox3 ก็จะหายไปแล้วแสดงข้อมูลที่เลือกใหม่ดังรูป 22222
22222.png
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#43

Post by snasui »

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

Code: Select all

Private Sub TextBox4_Change()
    On Error Resume Next
    
    If TextBox4.Value <> "" Then
        TextBox3.Text = ""
        TextBox3.Value = Combobox1.Text & vbCrLf & " จำนวน " & TextBox4.Value
    End If
End Sub
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#44

Post by Benmore »

snasui wrote::D ตัวอย่าง Code ครับ

Code: Select all

Private Sub TextBox4_Change()
    On Error Resume Next
    
    If TextBox4.Value <> "" Then
        TextBox3.Text = ""
        TextBox3.Value = Combobox1.Text & vbCrLf & " จำนวน " & TextBox4.Value
    End If
End Sub
แก้ไขตามโค้ดแล้วได้ออกมาตามรูปค่ะ
ข้อมูลใน size หายค่ะ
2211.png
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#45

Post by snasui »

:D ปรับ Code มาเองก่อน ดูตัวอย่างที่ผมตอบไป ปรับเองแล้วติดตรงไหนค่อยถามกันต่อครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#46

Post by Benmore »

snasui wrote::D ปรับ Code มาเองก่อน ดูตัวอย่างที่ผมตอบไป ปรับเองแล้วติดตรงไหนค่อยถามกันต่อครับ
ลองแก้ไขแล้วก็ยังไม่ได้ค่ะ ติดตรงส่วนที่กรอกจำนวนลงไปถ้ากรอกตัวเลขสองตัวข้อมูลจะขึ้นตามภาพค่ะ ต้องแก้ไขตรงไหนค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#47

Post by snasui »

:D ตามไฟล์แนบยังไม่พบว่าปรับตามที่ผมตอบไปด้านบนใน Procedure ที่ชื่อว่า TextBox4_Change ช่วยปรับมาก่อนแล้วแนบไฟล์มาอีกรอบ การถามตอบจะต้องเป็นไฟล์ล่าสุดที่ได้ปรับ Code มาแล้วเสมอครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#48

Post by Benmore »

Uniform_EGAS(Ex).xlsm
แก้ไขตาม TextBox4_Change แล้วค่ะ แต่เมื่อกรอกข้อมูลลงไปใน TextBox4 ข้อมูลของ combobox2 (ไซส์) ก็หายไปจาก textbox3 ค่ะ แล้วเมื่อกรอกไป 2 ตัวเลขข้อมูลก็ขึ้นสองอันค่ะ เช่น กรอก 11 ก็ขึ้น จำนวน1 จำนวน11 เพราะอะไรค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#49

Post by snasui »

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

ประกาศตัวแปร myStr ไว้บนสุดของ Module เป็น Dim myStr As String

จากนั้นปรับปรุง Code ตามด้านล่าง

Code: Select all

Private Sub ComboBox1_Change()
    If Combobox1.Value = "เสื้อแขนสั้น(Short Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "เสื้อแขนยาว(Long Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "กางเกง(Trousere)" Then
        Combobox2.RowSource = "DATA!H2:H24"
    Else
        Combobox2.Value = ""
    End If
    If Combobox1.Value <> "" Then
        myStr = Combobox1.Value
        TextBox3.Value = myStr
    End If
End Sub

Private Sub ComboBox2_Change()
    If Combobox1.Text <> "" Then myStr = Combobox1.Text
    If Combobox2.Value <> "" Then myStr = myStr & vbCrLf & "ไซส์ " & Combobox2.Text
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "จำนวน " & TextBox4.Text
    TextBox3.Text = myStr
End Sub

Private Sub TextBox4_Change()
    If Combobox1.Text <> "" Then myStr = Combobox1.Text
    If Combobox2.Value <> "" Then myStr = myStr & vbCrLf & "ไซส์ " & Combobox2.Text
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "จำนวน " & TextBox4.Text
    TextBox3.Text = myStr
End Sub
จากโพสต์นี้จะเห็นว่ามี Procedure เข้ามาเกี่ยวข้อง 3 Procedures ในการอธิบายปัญหากรุณาแจ้งลำดับการทำงานแล้วทำให้เกิดปัญหานั้น ๆ มาด้วย ผู้ตอบจะได้ทดสอบตามนั้นเพื่อให้เข้าใจตรงกันและตอบได้ตรงประเด็นครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#50

Post by Benmore »

ลองนำโค้ดไปแก้ไขแล้ว ติดตรงส่วนที่ให้กรอกจำนวนค่ะ Textbox4 กรอกข้อมูลลงไปแล้ว พอกดลบข้อมูลที่โชว์ใน textbox3 ไม่ลบออกไปด้วยค่ะ

Code: Select all

Private Sub TextBox4_Change()
    If Combobox1.Text <> "" Then myStr = TextBox3.Value
    If Combobox2.Value <> "" Then myStr = TextBox3.Value
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "¨Ó¹Ç¹ " & TextBox4.Text
    TextBox3.Text = myStr
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: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#51

Post by snasui »

:D Code ในไฟล์แนบไม่ตรงกับที่ผมตอบไปครับ กรุณาอ่านอย่างละเอียดและทำตามทุกขั้นตอนและแนบไฟล์นั้นมาใหม่หากยังติดปัญหา

ก่อนที่จะประยุกต์ไปเป็นแบบอื่นจะต้องแก้ปัญหาเดิมให้ได้เสียก่อนครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#52

Post by Benmore »

ลองเอาโค้ดมาใส่ตามที่แนะนำแล้วค่ะ แต่เมื่อเลือกข้อมูลใหม่ใน combobox1 ข้อมูลที่เลือกไว้ก่อนหน้าก็จะหายไป แล้วเมื่อเลือกข้อมูลไซส์ใน combobox2 ข้อมูลจำนวนใน textbox4 ก็จะแสดงพร้อมกับข้อมูลไซส์เลยค่ะ
Uniform_EGAS(Ex).xlsm
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#53

Post by snasui »

:D ผมยังไม่พบว่ามีการประกาศตัวแปร myStr อยู่ด้านบนสุดของ Module ครับ :!:

ตัวอย่างการปรับ Code ที่ ComboBox1_Change ครับ

Code: Select all

Private Sub ComboBox1_Change()
    If Combobox1.Value = "àÊ×éÍᢹÊÑé¹(Short Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "àÊ×éÍᢹÂÒÇ(Long Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "¡Ò§à¡§(Trousere)" Then
        Combobox2.RowSource = "DATA!H2:H24"
    Else
        Combobox2.Value = ""
    End If
    If Combobox1.Value <> "" Then
    If Combobox1.Text <> "" Then myStr = Combobox1.Text
    If Combobox2.Value <> "" Then myStr = myStr & vbCrLf & "ä«Êì " & Combobox2.Text
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "¨Ó¹Ç¹ " & TextBox4.Text
        TextBox3.Text = myStr
    End If
End Sub
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#54

Post by Benmore »

ปรับโค้ดตามที่แนะนำแล้วค่ะก็ยังได้ผลลัพธ์เหมือนเดิม...
er.png
Uniform_EGAS(Ex).xlsm
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#55

Post by snasui »

:D ตัวแปร ประกาศตัวแปรไว้ใน UserForm1 ที่เขียน Code หากประกาศไว้ใน Module อื่นให้ใช้ Public แทน Dim ครับ

สำหรับไฟล์ล่าสุดควรจะต้องได้คำตอบตามที่ถามมา ไม่ทราบว่ามีปัญหาตรงไหน อย่างไร ช่วยลำดับภาพมาให้เห็นอย่างเป็นลำดับขั้นตอนครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#56

Post by Benmore »

เช่น เลือกข้อมูล เสื้อ ไซส์ M จำนวน 1 ข้อมูลก็แสดงใน textbox3
แต่พอเลือกข้อมูลใหม่เป็นกางเกงใน combobox1 ข้อมูลเสื้อที่เลือกไว้ก่อนหน้าก็จะหายไป แต่แสดงข้อมูลจำนวนอยูเสมอ
แล้วเมื่อเลือกข้อมูลไซส์ใน combobox2 ข้อมูลจำนวนใน textbox4 ก็จะแสดงพร้อมกับข้อมูลไซส์เลยค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#57

Post by snasui »

:D Code ที่เขียนไปนั้นทำได้ครบถ้วนทุกประการตามที่โพสต์มาครับ

กรุณาจับภาพมาให้เห็นว่าขั้นตอนใดที่ไม่ได้คำตอบ อธิบายมาให้ครบว่าสิ่งที่เกิดขึ้นคืออะไร สิ่งที่ต้องการให้เป็นคืออะไร จะได้เข้าใจตรงกันครับ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#58

Post by Benmore »

เลือกข้อมูล เสื้อ ไซส์ M จำนวน 1 ข้อมูลก็แสดงใน textbox3
Untitled1.png
พอเลือกข้อมูลใหม่เป็นเสื้อแขนยาวใน combobox1 ข้อมูลเสื้อแขนสั้นที่เลือกไว้ก่อนหน้าก็จะหายไป แต่แสดงข้อมูลจำนวนอยูเสมอ
Untitled2.png
เมื่อเลือกข้อมูลไซส์ใน combobox2 ข้อมูลจำนวนใน textbox4 ก็จะแสดงพร้อมกับข้อมูลไซส์ โดยที่ไม่ได้กรอกข้อมูลลงไปเลยค่ะ
Untitled3.png
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#59

Post by snasui »

:D การแสดงเช่นนั้นเกิดจาก RowSource ที่ใช้ เดิมเขียน Code ให้แสดงเช่นนั้น เท่าที่ดูการแสดงเช่นนั้นสอดคล้องกับการทำงานจริง ไม่ควรจะไปแก้ไข

เช่นรายการเป็นเสื้อไซส์ควรเป็นของเสื้อ ถ้าเลือกรายการเป็นของกางเกงก็ควรจะลบไซส์ทิ้งแล้วให้ผู้ใช้เลือกไซส์ใหม่เพราะเป็นไซส์คนละแบบ ซึ่งการทำงานควรเป็นลักษณะนี้ ไม่ใช่ให้ค้างค่าในไซส์เอาไว้เสมอ เพราะเป็นไปได้สูงว่าไซส์นั้นไม่ใช่ข้อมูลชุดเดียวกันกับรายการที่เลือก

ในส่วนของจำนวน ผมเห็นว่า Code นั้นทำงานได้ตามที่ควรจะเป็น เพราะผู้ใช้สามารถแก้ไขเลือกรายการอื่น ๆ ได้ตลอดเวลา ข้อมูลจำนวนอาจจะไม่เปลี่ยนไปจากเดิมแต่ต้องการจะเลือกรายการอื่นก็ย่อมเป็นได้ หากจะลบทิ้งแล้วให้คีย์ใหม่หรือเปลี่ยนเป็นแบบอื่นต้องปรับปรุงมาเองก่อน ติดแล้วค่อยถามกันต่อ
Benmore
Bronze
Bronze
Posts: 254
Joined: Tue Sep 05, 2017 9:51 am

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

#60

Post by Benmore »

คือข้อมูลที่บอกว่าหายไปนั้นไม่ได้หมายถึงข้อมูลใน combobox แต่หมายถึงข้อมูลที่แสดงใน textbox ค่ะ
เมื่่อเลือกข้อมูลใหม่ ข้อมูลที่เลือกในวงกลมก็หายไปค่ะ
Untitled4.png
You do not have the required permissions to view the files attached to this post.
Post Reply