: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

Combobx : อยากให้ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#1

Post by wisitsakbenz »

เรียน อาจารย์

1. อยากได้เวลาเลือก WHC > Combobox 2 จะได้ผลตามไฟล์แนบ

Code: Select all

Private Sub ComboBox1_Change()
Dim u As Range
    
    ComboBox2.Clear
    
         With ComboBox2
        Select Case ComboBox1
                                
            Case "SUR"
                    For Each u In Sheet1.Range("C2:C4")
                                With Sheet2.ComboBox2
                                .AddItem u.Value
                                End With
                    Next u
            Case "WHC"
                    For Each u In Sheet1.Range("A2:A25", "B2:B7")
                                With Sheet2.ComboBox2
                                .AddItem u.Value
                                End With
                    Next u
        End Select
    End With
    
End Sub
2. อยากให้เวลาเพิ่มหรือลด List ของ Combobox > Range เปลี่ยนเองอัตโนมัติ

ต้องปรับสูตรอย่างไรครับ ขอบคุณครับ
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: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#2

Post by snasui »

:D ไม่เข้าใจว่าต้องการจะทำอะไร ช่วยอธิบายมาพอสังเขป

เมื่ออธิบายตามบรรทัดบนแล้ว จะต้องแจ้งสิ่งที่เป็นปัญหาต้อนนี้คืออะไร สิ่งที่ต้องการคืออะไร หากจะทดสอบให้เกิดปัญหาเดียวกันให้ทำสิ่งใด กี่ขั้นตอน อะไรบ้าง ฯลฯ จะได้เข้าถึงปัญหาโดยไวครับ
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#3

Post by wisitsakbenz »

เรียน อาจารย์ Snasui

เมื่อเลือก Cobobox1 เป็น WHC > เลือก Combobox2 ผลที่ได้มันจะไม่เอา list จาก Coulumn A จาก Sheet "Sheet1" ก่อน มันจะสลับ

WHC1
RR1
WHC2
RR2
WHC3
RR3
...
และจะมีการเว้นบรรทัด (ดังภาพ) ต้องการให้ List ของ Combobox2 เป็นดังไฟล์แนบ
ต้องปรับสูตรอย่างไรครับ ขอบคุณครับ
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: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#4

Post by snasui »

:D ตัวอย่างคำถามที่อ่านแล้วเข้าใจคือ

ต้องการเพิ่มรายการเข้าไปใน ComboBox2 จากการเลือก ComboBox1 ปัจจุบันบัญหาคือรายการที่เพิ่มเข้าไปใน ComboBox2 มีการเรียงรายการแบบสลับคอลัมน์แทนที่จะเรียงรายการไปทีละคอลัมน์ เช่น นำรายการในคอลัมน์ A มาเรียงให้หมดก่อนแล้วตามด้วยรายการในคอลัมน์ B เช่นนี้เป็นต้น

วิธีการปรับ Code คือ

ปรับ Statement ของการ Loop เป็น For Each u In Sheet1.Range("A2:A25,B2:B7") ครับ
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#5

Post by wisitsakbenz »

เรียน อาจารย์ Snasui

ได้แล้วครับ

2. อยากให้เวลาเพิ่มหรือลด List ของ Combobox ใน "Sheet1" > Range เปลี่ยนเองอัตโนมัติ

Code: Select all

Sheet1.Range("A2:A25,B2:B7")
ขอบคุณครับ
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: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#6

Post by snasui »

:D ไม่เข้าใจ กรุณาอธิบายมาใหม่ครับ
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#7

Post by wisitsakbenz »

เรียน อาจารย์ Snasui

ถ้าเพิ่ม WHC25,WHC26,WHC27,WHC28
RR7,RR8,RR9
TT4,TT5,TT6

ใน Sheet1 อยากให้

Case "SUR"
For Each u In Sheet1.Range("C2:C4") --> For Each u In Sheet1.Range("C2:C8")
.
.
.
Case "WHC"
For Each u In Sheet1.Range("A2:A25", "B2:B7") --> For Each u In Sheet1.Range("A2:A29", "B2:B10")
.
.
.
ไม่ต้องเข้ามาแก้ 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: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#8

Post by snasui »

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

Code: Select all

Private Sub ComboBox1_Change()
    Dim u As Range, r As Range
    
    ComboBox2.Clear
    
    With ComboBox2
        Select Case ComboBox1
            Case "SUR"
                With Sheet1
                    For Each u In .Range("C2", .Range("C" & .Rows.Count).End(xlUp))
                        With Sheet2.ComboBox2
                            .AddItem u.Value
                        End With
                    Next u
                End With
            Case "WHC"
                With Sheet1
                    For Each u In .Range("A2:B2")
                        For Each r In u.Resize(1000).SpecialCells(xlCellTypeConstants)
                            With Sheet2.ComboBox2
                                .AddItem r.Value
                            End With
                        Next r
                    Next u
                End With
        End Select
    End With
End Sub
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#9

Post by wisitsakbenz »

เรียน อาจารย์ Snasui

ถ้า Fixed Rows แค่ 30 Rows
ต้องปรับ Code อย่างไรครับ ขอบคุณครับ
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: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#10

Post by snasui »

:D ลองปรับมาเอง ติดตรงไหนค่อยถามกันต่อ ใน Code ที่ตอบไปมันมีตัวเลขที่พอจะเดาได้ว่าให้ขยายไปถึงไหน น่าจะสังเกตได้ไม่ยากครับ
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#11

Post by wisitsakbenz »

เรียน อาจารย์

ลองปรับแล้วยังติดอยู่ครับ
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ

Code: Select all

Private Sub ComboBox1_Change()
    Dim u As Range, r As Range
    
    ComboBox2.Clear
    
    With ComboBox2
        Select Case ComboBox1
            Case "SUR"
                With Sheet1
                    For Each u In .Range("C2:C29", .Range("C" & .Rows.Count).End(xlUp))
                        With Sheet2.ComboBox2
                            .AddItem u.Value
                        End With
                    Next u
                End With
            Case "WHC"
                With Sheet1
                    For Each u In .Range("A2:A29,B2:B29")
                        For Each r In u.Resize(1000).SpecialCells(xlCellTypeConstants)
                            With Sheet2.ComboBox2
                                .AddItem r.Value
                            End With
                        Next r
                    Next u
                End With
        End Select
    End With
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: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#12

Post by snasui »

:D ช่วยอธิบายว่าที่ผมปรับไปเดิมมีปัญหาอะไรถึงกลับมาแก้เป็นแบบนั้น ถ้าไม่มีก็ปรับให้กลับไปเป็นที่ผมเขียนให้ไป และไปแก้ตำแหน่งอื่น ไม่เช่นนั้นจะเกิดปัญหาเดิม การปรับแก้ต้องไม่นำปัญหาเดิมกลับมาครับ
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#13

Post by wisitsakbenz »

เรียน อาจารย์

ในการใช้งานจริงส่วนของ Row ที่ 31 เป็นต้นไป จะเป็น List ของ Combobox อื่นๆ ที่ไม่ได้ยกตัวอย่างครับ
ถ้าปรับหรือย้าย มันจะกระทบกับ Combobox อื่น ๆ ครับ
ขอบคุณครับ
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: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#14

Post by snasui »

wisitsakbenz wrote: Thu Mar 07, 2024 11:22 am ที่ 31 เป็นต้นไป จะเป็น List ของ Combobox อื่นๆ ที่ไม่ได้ยกตัวอย่าง
:D จะเป็นบรรทัดที่เท่าไรและมีอีกกี่บรรทัดก็ไม่ใช่ประเด็น ถ้าเข้าใจ Code ก็สามารถปรับใช้ได้ ที่สำคัญปรับใช้ง่ายมาก สงสัยหรือไม่เข้าใจบรรทัดไหนควรถามบรรทัดนั้นครับ

หากศึกษาแล้วไม่เข้าใจควรเปลี่ยนวิธีการออกแบบไม่ให้ข้อมูลซ้อน ๆ กัน ให้แยกเป็นคอลัมน์ Excel มีคอลัมน์ให้ใช้เป็นหมื่นคอลัมน์ครับ
wisitsakbenz
Silver
Silver
Posts: 508
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Combobx : อยากให้ Combobox แสดงผลตามไฟล์แนบ

#15

Post by wisitsakbenz »

เรียน อาจารย์ snasui

ลองศึกษาได้แล้วครับ ขอบคุณอาจารย์ที่แนะนำครับ
ขอบคุณครับ
Post Reply