: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

ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#1

Post by Bott »

ขอช่วยแนะนำ Code VBA ในส่วนของการค้นหาไฟล์ภาพ และนำภาพมาแสดงในexcel
ระบบงานคือ
- จะมีการจัดเก็บภาพถ่ายไว้ในโฟลเดอร์แต่ละอัน
- โดยจะเขียนโค้ด VBA ใน Excel มาเพื่อค้นหาไฟล์ภาพ โดยการใส่ชื่อไฟล์ไปในเซลใดเซลหนึ่งแล้ว ระบบจะทำการค้นหาแล้วนำไฟล์ภาพมาแสดงในอีกคอลัมน์หนึ่ง
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#2

Post by snasui »

:D กรณีใช้ VBA ให้ทำตามกฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll:
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#3

Post by Bott »

โค้ดใน Userform1 ในปุ่ม browse ต้องการให้เลือกไฟล์ภาพพอกด open ให้มันแสดงตำแหน่งของไฟล์ภาพใน textbox3 ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#4

Post by snasui »

:D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton3_Click()
    Dim p As String
    p = Application.GetOpenFilename(filefilter:="Picture (*.*),*.*")
    If p = "False" Then
        MsgBox "Please select file."
    Else
       TextBox3.Text = p
    End If
End Sub
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#5

Post by Bott »

ขอบคุณค่ะอาจารย์ แล้วถ้าต้องการแสดงภาพตัวอย่างเวลากด browse จะต้องเพิ่มเติมโค้ดตรงไหนค่ะ
โค้ด Userform1 ในปุ่ม browse ค่ะ ขอบคุณล่วงหน้าค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#6

Post by snasui »

:D ต้องการให้แสดงภาพตัวอย่างที่ไหน อย่างไรครับ

Code สำหรับการแสดงภาพตัวอย่างที่เขียนมาเองแล้วชื่อว่าอะไรครับ :?:
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#7

Post by Bott »

ทำได้แล้วค่ะแต่ขอช่วยอาจารย์แนะนำเรื่องโค้ดการโชว์ไฟล์ภาพ
> เมื่อใส่ชื่อภาพไปใน textbox10 แล้ว รายเอียดของภาพจะขึ้นมาตาม textbox ด้านล่าง
> เมื่อกดปุ่ม Next ก็จะเลื่อนไปยังข้อมูลภาพถัดไป
> เมื่อกดปุ่ม back ก็จะเลื่อนมายังภาพก่อนหน้า

*โค้ดจะอยู่ใน Userform2 ใน Multipage ที่ชื่อว่า ค้นหาภาพ
You do not have the required permissions to view the files attached to this post.
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#8

Post by logic »

งงครับ :cry:

ปุ่ม Back กับ ปุ่ม Next ไม่เห็นมี Code :flw:
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#9

Post by Bott »

นี่ค่ะ คือต้องการให้พอกดค้นหาแล้วมันแสดงภาพตรง image2 แล้วเวลากดปุ่ม next ข้อมูลและรูปภาพก็จะเปลี่ยนไปเป็นอีกข้อมูลนึงอ่ะค่ะ
โค้ดอยู่ใน multi page ชื่อ ค้นหาภาพ ในปุ่มค้นหา และ ปุ่ม next ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#10

Post by snasui »

:D Code ที่ปุ่ม Next กับ Back ต้องเขียนมาเอง ติดตรงไหนค่อยถามกันต่อครับ
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#11

Post by Bott »

อาจารย์ค่ะตัดปุ่ม Back และ Next ออกแล้วค่ะ
ตอนนี้เขียนโค้ดในปุ่มค้นหาแล้ว การทำงานคือ
- เมื่อกรอกชื่อรูปลงไป ข้อมูลต่าง ๆ จะโชว์ใน textbox ต่าง ๆ
- แต่ต้องการให้โชว์ไฟล์ภาพของข้อมูลที่ต้องการค้นหาด้วย

โค้ดจะอยู่ใน Userform > multipage ชื่อว่าค้นหาภาพ > ปุ่มค้นหา
# ส่วนของโค้ดที่ใช้ในการโชว์ภาพของแต่ละข้อมูลอยู่ใน sub imageff1
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#12

Post by snasui »

Bott wrote:ตอนนี้เขียนโค้ดในปุ่มค้นหาแล้ว การทำงานคือ
- เมื่อกรอกชื่อรูปลงไป ข้อมูลต่าง ๆ จะโชว์ใน textbox ต่าง ๆ
ค่อยๆ ถามตอบกันไปครับ

จากที่ยกมาด้านบนไม่ทราบว่าให้กรอกชื่อรูปที่ไหน กรอกแล้วคลิกปุ่มไหนหรือทำอย่างไรต่อเพื่อให้ข้อมูลมาแสดงใน Object ต่างๆ และต้องคลิกปุ่มไหนเพื่อให้แสดงภาพครับ
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#13

Post by Bott »

เขียนรันโค้ดเมื่อกดปุ่มบันทึกเพื่อส่วนของการแสดงเนื้อหารายละเอียดเรียบร้อยแล้วค่ะ แต่โค้ดที่เรียกภาพมันยังไม่โชว์ค่ะ.

- โค้ดแสดงข้อมูลต่างๆ อยู่ในปุ่มค้นหาค่ะ
- ติดตรงที่โค้ดเรียกไฟล์ภาพมาแสดงค่ะ อยู่ใน sub imageff1
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#14

Post by snasui »

Bott wrote:- ติดตรงที่โค้ดเรียกไฟล์ภาพมาแสดงค่ะ อยู่ใน sub imageff1
:D ควรจะแจ้งมาด้วยว่าติดตรงบรรทัดใด เพื่อให้เข้าถึงข้อมูลโดยไว

สำหรับ Code ที่เขียนมาเป็นการเรียกใช้ Sub Imageff1 จาก CommandButton13_Click โดยการคลิกปุ่ม ค้นหา

และเมื่อค้นหาแล้วสมมุติว่าที่อยู่ของภาพอยู่ที่ TextBox11 และให้ Show ภาพที่ Image2 ตามที่อยู่ภาพใน TextBox11

ซึ่งหากเป็นไปตามด้านบน Code ที่ Sub Imageff1 จะเป็นตามด้านล่าง

Code: Select all

Sub Imageff1()
    UserForm2.Image2.Picture = LoadPicture(UserForm2.TextBox11.Text)
End Sub
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#15

Post by Bott »

ทำได้แล้วค่ะอาจารย์ แต่ในชีทแรกปุ่มค้นหามีการแก้ไขนิดหน่อยค่ะ
ระบบงานคือ จะมีช่อง B1 และ G1 สำหรับใส่คำค้นหา ได้ลองแก้โค้ดดูแล้ว แต่รันแล้วแล้วไม่โชว์ค่าอะไรเลย
ระบบงานตอนนี้ที่ต้องการคือ ใน B1 และ G1 เมื่อกรอกค่าใดทั้งสองช่องลงไปแล้ว เมื่อกดค้นหาแล้วค่านั้นมีข้อมูลตรงกันจริง ๆ (ฐานข้อมูลจะอยู่ในชีทเพิ่ม) ให้แสดงข้อมูลที่มีค่าตรงกันในเซลล์ A3

โค้ดของการค้นหา อยู่ในชีทแรกที่ปุ่มค้นหาค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#16

Post by snasui »

:D ช่วยอธิบายมาเป็นข้อความว่าต้องการค้นหาในลักษณะใด

ช่วยแจ้งข้อมูลทดสอบมาด้วยว่า B1, G1 เป็นค่าใด และหากค้นหาได้ถูกต้องผลลัพธ์ควรได้เป็นค่าใด จะได้สะดวกต่อการทำความเข้าใจครับ
Bott
Member
Member
Posts: 9
Joined: Tue Dec 30, 2014 1:29 pm

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#17

Post by Bott »

ต้องการค้นหาในลักษณะที่ ในb1 ให้กรอก keyword หรือชื่อกิจกรรม ใน g1 ให้กรอกรุ่นของแผนกนั้น(จะอยู่ในชีทเพิ่ม)

เช่น ในB1 กรอกชื่อกิจกรรมคือ วันเด็ก และใน g1 คือ CCom57 แล้วเมื่อกดค้นหาในชีทค้นหา
ข้อมูล " วันเด็ก ของรุ่น Ccom57 " ก็จะโชว์ขึ้นมา ในเซลล์ด้านล่างค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31159
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยแนะนำเรื่องโค้ดการค้นหาไฟล์รูป (ดึงไฟล์รูปมาแสดง)

#18

Post by snasui »

:D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Sub find()
    Dim input1 As Range, input2 As Range
    Dim rall As Range, cell As Range
    Set input1 = Worksheets(1).Range("b1")
    Set input2 = Worksheets(1).Range("g1")
    Worksheets("ค้นหา").Range("a4").Resize(1000, 10).ClearContents
    With Sheets("เพิ่ม")
        Set rall = .Range("a3", .Range("a" & .Rows.Count).End(xlUp))
    End With
    For Each cell In rall
        If Application.CountIf(cell.Resize(1, 7), input1) > 0 Or _
            Application.CountIf(cell.Resize(1, 7), input2) Then
            With Sheets("ค้นหา").Range("a" & Rows.Count).End(xlUp)
                .Offset(1, 0).Value = cell.Offset(0, 5).Value
                .Offset(1, 1).Value = cell.Value
                .Offset(1, 4).Value = cell.Offset(0, 4).Value
                .Offset(1, 5).Value = cell.Offset(0, 5).Value
                .Offset(1, 6).Value = cell.Offset(0, 6).Value
            End With
        End If
    Next cell
End Sub
Post Reply