: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

รบกวนขอ Code ให้ textbox ให้ขึ้นกับ combobox ที่เลือก

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Kitiyaporn
Member
Member
Posts: 11
Joined: Tue Mar 22, 2011 4:27 pm

รบกวนขอ Code ให้ textbox ให้ขึ้นกับ combobox ที่เลือก

#1

Post by Kitiyaporn »

ได้ลองทำ Code ให้ textbox แสดงค่าตาม combobox2 ที่เลือกใน userform1 ค่ะ
แต่ทำได้ค่าอันเดียวคือ textbox3 ส่วนอันอื่น ขอใส่โค้ดเหมือนเดิมกลับขึน debug ไม่ทราบว่าต้องทำอย่างไรต่อ
จึงอยากขอสูตรให้ textbox4, textbox5, textbox6, textbox7 ได้แสดงค่าและตัวอักษรตาม ใน worksheets("Emission factor_User")
ในแต่ละColumn ที่ตรงกับหัวข้อนั้นๆ ค่ะ

ตอนนี้ได้ลองเขียน Custom ใน ComboBox1 ในหน้า worksheets("Emission factor_User") ให้ userform1.show
แต่อยากขอโค้ดสำหรับให้ค่าที่แสดงใน userform1.combobox2 ไปแสดงที่ range("xMaterialInex")ด้วย
พร้อมกับแสดงค่าใน textbox3 ใน range("xMaterialInex2") ด้วยค่ะ ภายหลังกดปุ่ม update ใน userform1 ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนขอ Code ให้ textbox ให้ขึ้นกับ combobox ที่เลือก

#2

Post by snasui »

:D ผมปรับ Code สำหรับการ Lookup ค่ามาแสดงให้แล้วตามด้านล่าง

Code: Select all

Private Sub ComboBox2_Change()
With Worksheets("emission factor_User")
   TextBox3.Value = Application.VLookup(Me.ComboBox2, .Range("D9:IV46"), 6, False)
   TextBox4.Value = Application.VLookup(Me.ComboBox2, .Range("D9:IV46"), 9, False)
   TextBox5.Value = Application.VLookup(Me.ComboBox2, .Range("D9:IV46"), 10, False)
   TextBox6.Value = Application.VLookup(Me.ComboBox2, .Range("D9:IV46"), 8, False)
End With
End Sub
และ Code ด้านล่างตก End If ตัวสุดท้ายไป ไม่ทราบว่าบังเอิญไปลบหรือไม่ครับ

Code: Select all

Private Sub ComboBox1_Change()
    If Range("xMaterialInex") = "Custom" Then
        UserForm1.Show
        Range("xMaterialInex") = UserForm1.ComboBox2.Value
        Range("xMaterialInex").NumberFormat = "General "" (Custom)"""
        Sheets("Emission Factor_User").Range("xMaterialInex2").Value = UserForm1.TextBox3.Value
    End If
    If Range("xMaterialInex") = "<--select data-->" Then
         Sheets("Emission Factor_User").Range("xMaterialInex2").Value = 4.1256
    ElseIf Range("xMaterialInex") = "Plastic" Then
        Sheets("Emission Factor_User").Range("xMaterialInex2").Value = 0.8743
    ElseIf Range("xMaterialInex") = "Paper" Then
        Sheets("Emission Factor_User").Range("xMaterialInex2").Value = 1.345
    ElseIf Range("xMaterialInex") = "Glass" Then
        Sheets("Emission Factor_User").Range("xMaterialInex2").Value = 0.2103
    End If
End Sub
Kitiyaporn wrote:ตอนนี้ได้ลองเขียน Custom ใน ComboBox1 ในหน้า worksheets("Emission factor_User") ให้ userform1.show
แต่อยากขอโค้ดสำหรับให้ค่าที่แสดงใน userform1.combobox2 ไปแสดงที่ range("xMaterialInex")ด้วย
พร้อมกับแสดงค่าใน textbox3 ใน range("xMaterialInex2") ด้วยค่ะ ภายหลังกดปุ่ม update ใน userform1 ค่ะ
ลองดู Code ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
  'UserForm2.ComboBox2.Value = Worksheets("INPUT_STANDARD").Range("cb_Liner_Body1_1")
  With Worksheets("Emission Factor_User")
    .Range("xMaterialInex") = UserForm1.ComboBox2
    .Range("xMaterialInex2") = UserForm1.TextBox3
  End With
    Unload Me
End Sub
Kitiyaporn
Member
Member
Posts: 11
Joined: Tue Mar 22, 2011 4:27 pm

Re: รบกวนขอ Code ให้ textbox ให้ขึ้นกับ combobox ที่เลือก

#3

Post by Kitiyaporn »

ขอบคุณมากนะคะ ทำได้แล้วค่ะ ขอบคุณจริงๆ
Kitiyaporn
Member
Member
Posts: 11
Joined: Tue Mar 22, 2011 4:27 pm

รบกวนช่วยแก้ไข Code สำหรับลบและแก้ไขข้อมูลใน listbox ค่ะ

#4

Post by Kitiyaporn »

เมื่อครั้งที่แล้วที่อาจารย์ช่วยเขียนโค้ดใหม่ให้ใช้ได้แล้วค่ะ แต่ตอนนี้เกิดปัญหาคือ
ได้ลองเขียนโค้ดสำหรับ Delete และ Edit ข้อมูลออกจาก listbox แต่ไม่สามารถทำได้ค่ะ

คืออยากให้เมื่อกดปุ่ม Commandbutton "Delete item" แล้ว แถวใน listbox1 ที่ถูกเลือกจะถูกลบไป และข้อมูลในSheet ที่ดึงมาคือ "Emission Factor_User" ในชื่อที่เลือกก็จะถูกลบไปทั้งแถวเช่นกันค่ะ

และเมื่อกดปุ่มCommandbutton "Modify Details" Userform3 ก็จะ show ขึ้นโดยให้ "txtNameRaw2" เป็นชื่อเดียวกับ listbox ที่เลือก แล้วเมื่อกรอกข้อมูลด้านล่างเสร็จ ให้ไปแก้ไขในในSheet "Emission Factor_User" เป็นแถวเดียวกับชื่อที่ต้องการให้ Modify ใหม่ค่ะ

ปล. สูตรที่เขียนไว้ก่อนหน้าได้มาจากการ Search หาใน internet ค่ะ แล้วเอามาประยุกต์ใส่ ดิฉันมีพื้นฐานเขียน VBA อ่านหนังสือเท่านั้น สูตรบางอย่างที่เขียน
ใน internet ก็ดูยากเกินไป ไม่เข้าใจ รบกวนอาจารย์ช่วยดูปัญหานี้ให้หน่อยนะคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนขอ Code ให้ textbox ให้ขึ้นกับ combobox ที่เลือก

#5

Post by snasui »

:D สำหรับการ Delete ลองทดสอบ Code ตามด้านล่างครับ

คิดว่าการ Update คงสามารถทำได้เองโดยไม่ยาก

Code: Select all

Private Sub CommandButton4_Click()
Dim lng As Long
Answer = MsgBox("Are you sure you want to delete data from database?", 4 + 48, "Delete database")
    If Answer = 6 Then
        'ListBox1.Items.Remove (ListBox1.SelectedItem)
        lng = Application.Match(ListBox1.Value, Worksheets("Emission Factor_User").Range("D:D"), 0)
        Worksheets("Emission Factor_User").Rows(lng).Delete
        Unload Me    
    ElseIf Answer = 7 Then
        Unload Me
        Exit Sub    
    End If
End Sub
Kitiyaporn
Member
Member
Posts: 11
Joined: Tue Mar 22, 2011 4:27 pm

รบกวนช่วยแก้ไข Code สำหรับลบและแก้ไขข้อมูลใน listbox ค่ะ

#6

Post by Kitiyaporn »

ลองทดสอบโค้ด Delete แล้วค่ะ แต่มันขึ้น Debug ที่ ComboBox1 ค่ะ Sheet"Emission Factor_User" ตรง Userform1.show
ไม่ทราบว่าต้องแก้ไขยังไงค่ะ ส่วนการUpdate ข้อมูลยังทำไม่ได้เลยค่ะ แค่ให้ txtNameRaw2 ใน userform3 ขึ้นตาม listbox ที่เลือก
ไม่รู้ว่าจะใช้โค้ดอะไรค่ะ ลองเขียนโค้ดแล้วแต่มันขึ้นแค่มันัดแรกของ listbox1 ไม่ยอมขึ้นตาม item ที่เลือกค่ะ

รบกวนหน่อยนะคะ ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนขอ Code ให้ textbox ให้ขึ้นกับ combobox ที่เลือก

#7

Post by snasui »

:D ผมทดสอบแล้วสามารถ Delete ได้เป็นปกติ ช่วยจับภาพที่ติดปัญหาและวิธีการทำงานที่บอกว่าติดปัญหาว่ามีลำดับอย่างไร จะได้ทดสอบตามขั้นตอนนั้นครับ
Post Reply