Page 1 of 1
เรียกดูข้อมูลด้วย ComboBox
Posted: Sun Apr 13, 2014 12:08 pm
by diamondbom
พี่ครับช่วยแนะนำหน่อยครับ คือว่าผมต้องการออกแบบโปรแกรมเรียกดูข้อมูลอ่าครับ
โดยการใช้ ComboBox คือ
เมื่อเลือก 1 ให้แสดง 1 และข้อมูลของ 1 ในตารางที่2
เมื่อเลือก 2 ให้แสดง 2 และข้อมูลของ 2 ในตารางที่2
_ขอบคุณครับ_

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


คำว่า "อ่าครับ" แก้เป็น "ครับ"
ส่วนที่ถามมานั้น สามารถทำได้ แต่ข้อมูลในไฟล์แนบนั้น ผมดูแล้วยังไม่เข้าใจครับ เพราะตารางที่ 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)
แต่ไม่สามารถเขียนต่อได้ รบกวนขอคำแนะนำด้วยครับพี่
..ขอบคุณครับ..

ตกลงว่าต้องการใช้สูตร หรือ ใช้ 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 ครับ

ลองตามนี้ครับ
ในชีท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
ขอบคุณครับ
