Page 1 of 1

เรียกดูข้อมูลด้วย ComboBox

Posted: Sun Apr 13, 2014 12:08 pm
by diamondbom
พี่ครับช่วยแนะนำหน่อยครับ คือว่าผมต้องการออกแบบโปรแกรมเรียกดูข้อมูลอ่าครับ

โดยการใช้ ComboBox คือ

เมื่อเลือก 1 ให้แสดง 1 และข้อมูลของ 1 ในตารางที่2

เมื่อเลือก 2 ให้แสดง 2 และข้อมูลของ 2 ในตารางที่2

_ขอบคุณครับ_ :thup:

Re: เรียกดูข้อมูลด้วย ComboBox

Posted: Sun Apr 13, 2014 1:09 pm
by bank9597
diamondbom wrote:พี่ครับช่วยแนะนำหน่อยครับ คือว่าผมต้องการออกแบบโปรแกรมเรียกดูข้อมูลอ่าครับ

โดยการใช้ ComboBox คือ

เมื่อเลือก 1 ให้แสดง 1 และข้อมูลของ 1 ในตารางที่2

เมื่อเลือก 2 ให้แสดง 2 และข้อมูลของ 2 ในตารางที่2

_ขอบคุณครับ_ :thup:

:D คำว่า "อ่าครับ" แก้เป็น "ครับ"

ส่วนที่ถามมานั้น สามารถทำได้ แต่ข้อมูลในไฟล์แนบนั้น ผมดูแล้วยังไม่เข้าใจครับ เพราะตารางที่ 2 มีแค่ตัวเลข 2 แค่เลขเดียว

Re: เรียกดูข้อมูลด้วย ComboBox

Posted: Sun Apr 13, 2014 1:22 pm
by diamondbom
เลข 2 นั้นเกิดจากโค้ดที่ผมเขียนครับ เกิดจากการเลือกที่ ComboBox

คือผมเขียนได้แค่ เลือก1 แสดง1 เลือก2แสดง2 แค่เพียงตัวเลขเดียวครับ

อยากเขียนให้แสดง 1 และข้อมูลของ1 ทั้งหมด (1หรือ 2)

แต่ไม่สามารถเขียนต่อได้ รบกวนขอคำแนะนำด้วยครับพี่

..ขอบคุณครับ..

Re: เรียกดูข้อมูลด้วย ComboBox

Posted: Sun Apr 13, 2014 1:28 pm
by bank9597
diamondbom wrote:เลข 2 นั้นเกิดจากโค้ดที่ผมเขียนครับ เกิดจากการเลือกที่ ComboBox

คือผมเขียนได้แค่ เลือก1 แสดง1 เลือก2แสดง2 แค่เพียงตัวเลขเดียวครับ

อยากเขียนให้แสดง 1 และข้อมูลของ1 ทั้งหมด (1หรือ 2)

แต่ไม่สามารถเขียนต่อได้ รบกวนขอคำแนะนำด้วยครับพี่

..ขอบคุณครับ..
:lol: ตกลงว่าต้องการใช้สูตร หรือ ใช้ VBA ครับ แจ้งให้ทราบอีกครั้ง

Re: เรียกดูข้อมูลด้วย ComboBox

Posted: Tue Apr 15, 2014 4:47 pm
by diamondbom
VBA ครับ

Re: เรียกดูข้อมูลด้วย ComboBox

Posted: Tue Apr 15, 2014 11:44 pm
by bank9597
diamondbom wrote:VBA ครับ
:D ลองตามนี้ครับ

ในชีท1 เซลล์ B2 สร้างเป็น Drop Down List

ใน Sheet1 ใส่โค๊ดนี้ลงไป

Code: Select all

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

        If Not Intersect(Target, Range("B2")) Is Nothing Then
            Call GetData
        End If
End Sub
สร้างโมดูลขึ้นมา แล้วใส่โค๊ดนี้ลงไป

Code: Select all

Option Explicit

Sub GetData()


            Dim rFind As Range, rDataAll As Range
            Dim r As Range, rTarget As Range
            Dim ws As Worksheet
            Set ws = Worksheets("sheet1")
            Set rFind = Sheets("sheet1").Range("B2")
            
            ws.Range("E7:F10").ClearContents
            
            If Sheets("sheet1").Range("B2") = "" Then Exit Sub
            
            With Sheets("sheet1")
                Set rDataAll = .Range("A7", .Range("A" & Rows.Count).End(xlUp))
                If .Columns("A:A").Find(rFind, LookIn:=xlValues) Is Nothing Then
                    MsgBox ("ไม่มีเลขนี้")
                    Exit Sub
                End If
            End With
            
            For Each r In rDataAll
                If r = rFind Then
                    Set rTarget = Sheets("sheet1").Range("E" & Rows.Count).End(xlUp) _
                        .Offset(1, 0)
                    r.Resize(1, 2).Copy
                    rTarget.PasteSpecial xlPasteValues
                End If
            Next r
            Application.CutCopyMode = False
            MsgBox "Get data has finished."
            Set ws = Nothing
            Set rFind = Nothing
            Set rDataAll = Nothing
End Sub

Re: เรียกดูข้อมูลด้วย ComboBox

Posted: Wed Apr 16, 2014 12:00 am
by diamondbom
ขอบคุณครับ :thup: