Page 1 of 1

VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Tue Nov 13, 2018 7:22 pm
by yodpao.b
เขียน VBA
คำถาม เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel
finePic1.JPG
finePic1.JPG (6.2 KiB) Viewed 181 times
จากรูป 1.คลิกเลือก เลข3
finePic2.JPG
finePic2.JPG (22.7 KiB) Viewed 181 times
จากรูป 2.ให้ข้อมูลที่อยู่ในหน้า information ในแถว A ที่มีค่า 3 มาโชว์ ในหน้า cal ในเซล A3
finePic3.JPG
finePic3.JPG (21.35 KiB) Viewed 181 times
3.ผลลัพท์ที่ได้

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Tue Nov 13, 2018 7:23 pm
by yodpao.b
ไฟล์นี้ครับ เรียก from 4

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Wed Nov 14, 2018 6:18 am
by snasui
:D เขียนคำสั่งนั้นไว้แล้วที่ Procedure ใด เขียนไว้อย่างไร ติดขัดบรรทัดไหน กรุณาแจ้งมาด้วยครับ

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Wed Nov 14, 2018 8:47 am
by yodpao.b
ผมยังไม่ได้เขียน Code ครับ ไม่รู้จะเขียนยังไง
เคยแต่เรียกค่าในฟอร์มมาที่ Excel
ไม่เคยค้นหาทำจาก Excel ไป Excel
ช่วยหาตัวอย่างได้ไหมครับ

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Wed Nov 14, 2018 11:50 am
by yodpao.b
ผมเจอ code นี้ น่าจะใช้กันได้ครับ
แต่ code นี้ ผมเข้าใจว่าค้นหาจากทุกหน้า แล้วนำค่าที่ค้นหาได้มารวมไว้หน้าเดียว

Code: Select all

Private Sub ComboBox10_Change()

Dim R, xCell, ws
Sheets("information").Range("A3").Value = ComboBox10.Value

R = 1
For ws = 2 To ThisWorkbook.Sheets.Count
    For Each xCell In Worksheets(ws).UsedRange
        If xCell = ThisWorkbook.Sheets(3).Cells(1, 3).Value Then
        R = R + 1
        
        Worksheets(3).Cells(R + 2, 1).Value = xCell.Offset(0, 0).Value
        Worksheets(3).Cells(R + 2, 1).Value = xCell.Offset(0, 1).Value
        Worksheets(3).Cells(R + 2, 1).Value = xCell.Offset(0, 2).Value
        End If
    Next xCell
    Next ws

End Sub
ที่มาของ code https://www.youtube.com/watch?v=-NrTbOaEKG8&t=794s
ลองนำมาปรับใช้ แล้ว งงครับ ไม่รู้ว่าตัวไหนเป็นข้อแม้

ความต้องการ
ค้นหาค่าที่ต้องการ แล้วนำมาแสดงในหน้า "cal"
pic 1.JPG
pic 1.JPG (7.36 KiB) Viewed 161 times
จากรูป เลือก เลข 2

pic 2.JPG
pic 2.JPG (55.82 KiB) Viewed 161 times
จากรูป ทำการค้นหาโดยใช้ VBA
ข้อแม้ในการค้นหาคือ 2
ถ้าเจอเลข 2 อยู่ในแถวใด ให้นำแถวนั้นมาไว้
ในหน้า cal
pic 3.JPG
pic 3.JPG (20.89 KiB) Viewed 161 times
จากรูปผลที่ต้องการ

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Wed Nov 14, 2018 11:51 am
by yodpao.b
ไฟล์ต้องแยกส่งครับ ส่งพร้อมกันไม่ได้

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Thu Nov 15, 2018 2:55 pm
by yodpao.b
ยังไม่มีใครช่วยแก้ไขเลยครับ

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Thu Nov 15, 2018 10:16 pm
by snasui
yodpao.b wrote: Thu Nov 15, 2018 2:55 pm ยังไม่มีใครช่วยแก้ไขเลยครับ
:D สมาชิกหลายท่านไม่ถนัด VBA อาจจะต้องรอสักหน่อย ฟอรัมนี้ไม่มีกระทูใดที่จบแบบไม่มีคำตอบ มีวิธีหรือไม่อย่างไร อย่างน้อยจะมีผมเข้ามาแจ้งครับ

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

Code: Select all

Dim rsAll As Range, rs As Range, rt As Range
With Sheets("information")
    Set rsAll = .Range("a6", .Range("a" & .Rows.Count).End(xlUp))
    For Each rs In rsAll
        If rs.Value = CInt(Me.ComboBox10.Value) Then
            With .Parent.Worksheets("cal")
                Set rt = .Range("a" & .Rows.Count).End(xlUp).Offset(1, 0)
                rt.Resize(1, 24).Value = rs.Resize(1, 24).Value
            End With
        End If
    Next rs
End With

Re: VBA-เมื่อค้นหาค่าใน ComboBox ให้นำมาโชว์ใน excel

Posted: Fri Nov 16, 2018 12:54 am
by yodpao.b
ขอบคุณครับ
run อย่างไวเลยครับ
ของผมใช้แบบ ตัวกรอง copy ไป copy มา มันช้าไปหน่อย
ได้code นี้มาดูเป็นธรรมชาติครับ