: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

สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
jullathep
Member
Member
Posts: 148
Joined: Fri Feb 02, 2018 1:56 pm

สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#1

Post by jullathep »

ผมเจอCodeของท่านอาจารย์ก็นั่งศึกษา แล้ว ลองปรับเป็นของตัวเอง แต่ ไม่มีผลปรากฎ รบกวน ท่านอาจารย์ช่วยดู Code หน่อยครับ ผมเพิ่ม Image และ Textbox เข้าไปแทนที่ ปรับค่าบางตัว แล้ว ขอคำชี้แนะด้วยครับ ขอบคุณครับ
Module 1

Code: Select all

Sub ShowPicture00()
    Dim r As String
    r = TextBox1.Text <> ""
    On Error Resume Next
    ActiveSheet.Shapes(1).Delete
    Image1.Select
    ActiveSheet.Pictures.Insert("D:\" & r & ".JPG").Select
    Selection.ShapeRange.ScaleWidth 0.14, _
        msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.14, _
        msoFalse, msoScaleFromTopLeft
    Image1.Select
End Sub
Sub ShowPicture()
Dim r As String
Dim imgIcon
On Error Resume Next
    ActiveSheet.Shapes(1).Delete
r = TextBox1.Text <> ""
With Image1
    Set imgIcon = ActiveSheet.Shapes.AddPicture( _
    Filename:="D:\" & r & ".jpg", LinkToFile:=False, _
    SaveWithDocument:=True, Left:=.Left, Top:=.Top, _
    Width:=180, Height:=138)
End With
Set imgIcon = Nothing
End Sub
Sheet1

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "TextBox1" Then
    Call ShowPicture
End If
Application.EnableEvents = True
End Sub
Attachments
ตัวอย่าง (1).xlsm
(21.64 KiB) Downloaded 12 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#2

Post by snasui »

:D ค่อย ๆ ถามตอบกันไปครับ

ตรง Code ด้านล่างเข้าใจว่าอย่างไรช่วยอธิบายมาด้วยครับ

Code: Select all

If Target.Address = "TextBox1" Then
    Call ShowPicture
End If
jullathep
Member
Member
Posts: 148
Joined: Fri Feb 02, 2018 1:56 pm

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#3

Post by jullathep »

snasui wrote: Sat Mar 03, 2018 11:21 am :D ค่อย ๆ ถามตอบกันไปครับ

ตรง Code ด้านล่างเข้าใจว่าอย่างไรช่วยอธิบายมาด้วยครับ

Code: Select all

If Target.Address = "TextBox1" Then
    Call ShowPicture
End If
เดิมของอาจารย์ เป็น $F$4 คือ ความเข้าใจผมนะครับ คือ ประมาณ ว่า ที่ cell F4 มีค่า ให้เรียก Moduel ShowPicture มาทำงาน กลับกันผมเลยแปลงเป็น Textbox1 เพื่อรับค่า ของอาจารย์ใช้ Cell F4 เพื่อรับค่า :D น่าจะประมาณนี้ครับ

Code: Select all

If Target.Address = "$F$4" Then
    Call ShowPicture
End If
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#4

Post by snasui »

:D ไม่ได้แปลว่าเช่นนั้นครับ

จาก

Code: Select all

If Target.Address = "$F$4" Then
    Call ShowPicture
End If
Code นั้นอยู่ในส่วนของ Event ที่ชื่อว่า Worksheet_Change หมายถึงถ้าเซลล์ที่เปลี่ยนค่าคือเซลล์ F4 ไม่ใช่ว่าถ้ามีค่าในเซลล์ F4

Target.Address คือสิ่งที่เราตรวจสอบว่าเซลล์ที่เปลี่ยนแปลงเป็นเซลล์ F4 หรือไม่ ถ้าใช่จึงจะไปเรียก ShowPicture ให้ทำงาน

Code เดิมเป็นการให้ทำงานเมื่อมีการเปลี่ยนแปลงในเซลล์ F4 เท่านั้น ถ้างานนี้ไม่ได้มีวัตถุประสงค์เช่นเดียวกันก็ต้องปรับใหม่ครับ
jullathep
Member
Member
Posts: 148
Joined: Fri Feb 02, 2018 1:56 pm

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#5

Post by jullathep »

snasui wrote: Sat Mar 03, 2018 11:37 am :D ไม่ได้แปลว่าเช่นนั้นครับ

จาก

Code: Select all

If Target.Address = "$F$4" Then
    Call ShowPicture
End If
Code นั้นอยู่ในส่วนของ Event ที่ชื่อว่า Worksheet_Change หมายถึงถ้าเซลล์ที่เปลี่ยนค่าคือเซลล์ F4 ไม่ใช่ว่าถ้ามีค่าในเซลล์ F4

Target.Address คือสิ่งที่เราตรวจสอบว่าเซลล์ที่เปลี่ยนแปลงเป็นเซลล์ F4 หรือไม่ ถ้าใช่จึงจะไปเรียก ShowPicture ให้ทำงาน

Code เดิมเป็นการให้ทำงานเมื่อมีการเปลี่ยนแปลงในเซลล์ F4 เท่านั้น ถ้างานนี้ไม่ได้มีวัตถุประสงค์เช่นเดียวกันก็ต้องปรับใหม่ครับ
คล้ายกันครับอาจารย์ Textbox 1 ของผมก็เปลี่ยนค่าเช่นกันครับ เพราะว่ารูป ที่ จับคู่ กับชื่อเครื่องหมายการค้านั้นมีเยอะมาก ครับ จึง ต้องเปลี่ยนค่า เช่นกัน รบกวน ขอคำชี้แนะด้วยครับ อย่างเช่น ชื่อเครื่องหมายการค้า รวมดาวเกษตร ชื่อเครื่องเหมายการค้า ภคินทร์ และอื่นๆ ครับ เอ๋ หรือผมต้องเปลี่ยน Event ของ Worksheet
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#6

Post by snasui »

:D ก็ต้องไปกำหนด Code ดักจับเมื่อมีการเปลี่ยนที่ TextBox1 ไม่ใช่ใช้ Code ต้นฉบับที่ดักจับการเปลี่ยนแปลงในเซลล์ครับ
jullathep
Member
Member
Posts: 148
Joined: Fri Feb 02, 2018 1:56 pm

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#7

Post by jullathep »

snasui wrote: Sat Mar 03, 2018 11:54 am :D ก็ต้องไปกำหนด Code ดักจับเมื่อมีการเปลี่ยนที่ TextBox1 ไม่ใช่ใช้ Code ต้นฉบับที่ดักจับการเปลี่ยนแปลงในเซลล์ครับ
จุดใต้ตำตอครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range) << ผมต้องเปลี่ยนเป็นอะไรครับอาจารย์ Text หรือ ครับ 
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#8

Post by snasui »

:D ไม่ต้องสนใจ Code นี้เพราะไม่เกี่ยวกับเรื่องที่กำลังทำ

เขียนขึ้นมาใหม่หรือปรับจาก Code เดิมที่เกี่ยวข้องกับการเปลี่ยนแปลงค่าใน TextBox1 ตามที่กล่าวมาครับ
jullathep
Member
Member
Posts: 148
Joined: Fri Feb 02, 2018 1:56 pm

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#9

Post by jullathep »

snasui wrote: Sat Mar 03, 2018 12:03 pm :D ไม่ต้องสนใจ Code นี้เพราะไม่เกี่ยวกับเรื่องที่กำลังทำ

เขียนขึ้นมาใหม่หรือปรับจาก Code เดิมที่เกี่ยวข้องกับการเปลี่ยนแปลงค่าใน TextBox1 ตามที่กล่าวมาครับ
เดี๋ยวจะลองทำครับอาจารย์ ถ้าไม่ได้จะปรึกษาใหม่ครับ
jullathep
Member
Member
Posts: 148
Joined: Fri Feb 02, 2018 1:56 pm

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#10

Post by jullathep »

jullathep wrote: Sat Mar 03, 2018 12:05 pm
snasui wrote: Sat Mar 03, 2018 12:03 pm :D ไม่ต้องสนใจ Code นี้เพราะไม่เกี่ยวกับเรื่องที่กำลังทำ

เขียนขึ้นมาใหม่หรือปรับจาก Code เดิมที่เกี่ยวข้องกับการเปลี่ยนแปลงค่าใน TextBox1 ตามที่กล่าวมาครับ
เดี๋ยวจะลองทำครับอาจารย์ ถ้าไม่ได้จะปรึกษาใหม่ครับ

Code: Select all

Sub ShowPicture00()
    Dim r As String
    r = TextBox1.Text <> "" <<ติด Error บรรทัดนี้ครับ อาจารย์
    On Error Resume Next
    ActiveSheet.Shapes(1).Delete
    Image1.Select
    ActiveSheet.Pictures.Insert("D:\" & r & ".JPG").Select
    Selection.ShapeRange.ScaleWidth 0.14, _
        msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.14, _
        msoFalse, msoScaleFromTopLeft
    Image1.Select
End Sub

Code: Select all

Private Sub CommandButton1_Click()
Call ShowPicture00
End Sub
ผมเผลี่ยนเป็นปุ่มตกลงแทนครับ อาจารย์แล้วติด Error
Attachments
ตัวอย่าง (1).xlsm
(27.05 KiB) Downloaded 14 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#11

Post by snasui »

:D เราไม่สามารถใช้ r = TextBox1.Text <> "" ซึ่งเป็นการกำหนดค่าซ้อนการเปรียบเทียบได้ครับ

้ถ้าต้องการกำหนดค่าให้กับตัวแปร r ให้ปรับเป็น r = TextBox1.Text ครับ

กระทู้นี้เกี่ยวข้องกับอะไร ต้องการจะทำงานใด ต้องการผลลัพธ์อย่างไร กรุณาอธิบายมาด้วย สิ่งเหล่านี้ควรอยู่ในโพสต์แรก ๆ ครับ
jullathep
Member
Member
Posts: 148
Joined: Fri Feb 02, 2018 1:56 pm

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#12

Post by jullathep »

snasui wrote: Sat Mar 03, 2018 1:12 pm :D เราไม่สามารถใช้ r = TextBox1.Text <> "" ซึ่งเป็นการกำหนดค่าซ้อนการเปรียบเทียบได้ครับ

้ถ้าต้องการกำหนดค่าให้กับตัวแปร r ให้ปรับเป็น r = TextBox1.Text ครับ

กระทู้นี้เกี่ยวข้องกับอะไร ต้องการจะทำงานใด ต้องการผลลัพธ์อย่างไร กรุณาอธิบายมาด้วย สิ่งเหล่านี้ควรอยู่ในโพสต์แรก ๆ ครับ
อันนี้จะเป็นการออกรายงาน ข้อมูล ครับ โดยในหน้ารายงานจะมีการแสดงรูปด้วยครับ โดยรูปจะเชื่อมกับ ชื่อเครื่องหมายการค้าครับ ท่านอาจารย์
ผลลัพธ์ ที่ต้องการคือ ต้องการให้รูปแต่ละเครื่องหมายการค้าไปแสดงในหน้ารายงาน ตามการกรอกข้อมูล ของฝ่ายขาย ในหน้า INPUT ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถาม Code เรื่องการ แสดงรูปภาพ ครับ

#13

Post by snasui »

:D ระบุมาให้ละเอียดถึงตำแหน่งชีต ตำแหน่งเซลล์ที่แสดงผล ตำแหน่งภาพที่จะนำมาใช้ พร้อมทั้งเขียน Code ในไฟล์แนบให้สอดคล้องกับสิ่งที่อธิบาย ฯลฯ ครับ
Post Reply