🔊 โปรดทราบ Image
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
  2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
    1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
    2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
  3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
  4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
  5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ ==> กำหนดขนาดตัวอักษรใน Browser Image

เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#1

Post by diamondbom » Fri Jan 05, 2018 12:58 pm

รบกวนสอบถามหน่อยครับ คือว่าผมต้องการที่จะเปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button (Select Picture)
โดยให้ปรากฏ และเลือรูปภาพจากหน้าต่าง Insert Picture (คล้ายๆกันกับ Insert Picture ของ Excel ) แต่ผมยังไม่รู้ว่าจะเริ่มยังไง
หนังสือที่มีก็ไม่มีตัวอย่าง รบกวนขอคำแนะนำในการเขียน Code ด้วยครับ
ขอบคุณครับ :D
You do not have the required permissions to view the files attached to this post.

logic
Silver
Silver
Posts: 610
Joined: Thu Mar 18, 2010 1:57 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#2

Post by logic » Fri Jan 05, 2018 1:33 pm

ลองบันทึกมาโครดูน่าจะได้โค้ดมาปรับใช้ได้ครับ :)

diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#3

Post by diamondbom » Fri Jan 05, 2018 3:52 pm

Sub Macro1()
'
' Macro1 Macro
'

'
ActiveSheet.Shapes.Range(Array("Image1")).Select
End Sub

มาโครมีโค้ดเท่านี้ผมไปต่อไม่ถูกรบกวนแนะนำด้วยครับ อยากได้โปรแกรมประมาณว่าเราสามารถเลือกรูปต่าง Insert Picture (คล้ายๆกันกับ Insert Picture ของ Excel )

ขอบคุณครับ :D

logic
Silver
Silver
Posts: 610
Joined: Thu Mar 18, 2010 1:57 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#4

Post by logic » Fri Jan 05, 2018 4:38 pm

อ่านแล้วงงครับ

ปกติกำหนดพื้นหลังให้กับภาพอย่างไรก็บันทึกมาโครแบบนั้น

ผมลองทำดูได้ตามนี้ครับ

Code: Select all

Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .PresetTextured msoTexturePapyrus
        .TextureTile = msoTrue
        .TextureOffsetX = 0
        .TextureOffsetY = 0
        .TextureHorizontalScale = 1
        .TextureVerticalScale = 1
        .TextureAlignment = msoTextureTopLeft
    End With
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .UserPicture "C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg"
        .TextureTile = msoFalse
    End With
End Sub

diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#5

Post by diamondbom » Thu Jan 11, 2018 8:10 am

สวัสดีครับ ตอนนี้ผมแก้ไขโค้ดได้แล้วครับแต่ติดปัญหานิดหน่อยอยากจะรบกวนสอบถามครับ

-กรณีใช้ Commandbutton เปิด UserForm เพื่อเลือกและเปลี่ยนภาพพื้นหลังของ Image กดบันทึกแล้วถาพสามารถเปลียนได้ทันที

-กรณีใช้ Image เปิด UserForm เพื่อเลือกและเปลี่ยนภาพพื้นหลังของ Imageของตัวมันเองกดบันทึกแล้วถาพไม่สามารถเปลียนได้ทันที
ต้องกดออกจาก UserForm ก่อนภาพจึงจะเปลี่ยนให้ พอจะมีวิธีทำให้ภาพเปลี่ยนทันทีใหมครับ
You do not have the required permissions to view the files attached to this post.

diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#6

Post by diamondbom » Thu Jan 11, 2018 8:23 am

โปรแกรมครับ
You do not have the required permissions to view the files attached to this post.

diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#7

Post by diamondbom » Thu Jan 11, 2018 5:06 pm

รบกวนสอบถามเพิ่มเติมครับ การใช้งาน Image กินพื้นที่หน่วยความจำเยอะมาก นี่คือเรื่อปรกติใช่ป่าวครับ

User avatar
snasui
Site Admin
Site Admin
Posts: 22553
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#8

Post by snasui » Thu Jan 11, 2018 9:09 pm

diamondbom wrote:โปรแกรมครับ
:D ปรับ Code เป็นด้านล่างครับ

Code: Select all

Private Sub Image1_Click()
    UserForm1.Show vbModeless
End Sub
diamondbom wrote:รบกวนสอบถามเพิ่มเติมครับ การใช้งาน Image กินพื้นที่หน่วยความจำเยอะมาก นี่คือเรื่อปรกติใช่ป่าวครับ
เป็นเรื่องปกติครับ


diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#10

Post by diamondbom » Fri Jan 12, 2018 5:42 pm

รบกวนสอบถามเพิ่อมเติมหน่อครับ เนื่องจาก Image มีการใช้พื้นที่เยอะมึงเปลี่ยนมาใช้รูปภาพแทน
อยากสอบถามเกี่ยวกับการใช้โค้ดใช้ภาพอยู่กึ่งกลางเซลที่เรา Merge ไว้น่ะครับ
(กึ่งกลางเหมือนกับกรณีที่เราใช้ Image ใน Mode Zoom)
ขอบคุณครับ :D
You do not have the required permissions to view the files attached to this post.

diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#11

Post by diamondbom » Fri Jan 12, 2018 5:43 pm

โปรแกรมครับ
You do not have the required permissions to view the files attached to this post.

diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#12

Post by diamondbom » Sat Jan 13, 2018 12:50 pm

diamondbom wrote:
Fri Jan 12, 2018 5:42 pm
รบกวนสอบถามเพิ่อมเติมหน่อครับ เนื่องจาก Image มีการใช้พื้นที่เยอะจึงเปลี่ยนมาใช้รูปภาพแทน
อยากสอบถามเกี่ยวกับการใช้โค้ดใช้ภาพอยู่กึ่งกลางเซลที่เรา Merge ไว้น่ะครับ
(กึ่งกลางเหมือนกับกรณีที่เราใช้ Image ใน Mode Zoom)
ขอบคุณครับ :D

User avatar
snasui
Site Admin
Site Admin
Posts: 22553
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#13

Post by snasui » Sat Jan 13, 2018 1:12 pm

diamondbom wrote:
Fri Jan 12, 2018 5:42 pm
เนื่องจาก Image มีการใช้พื้นที่เยอะมึงเปลี่ยนมาใช้รูปภาพแทน
🤣 Image กับรูปภาพคือ Object ชนิดเดียวกันครับ แต่หากเป็น ActiveX Control หรือ Form Control กับ Image จึงจะเป็นคนละ Object ในการเขียน Code ให้เป็นมาตรฐานเราควรใช้ Control แบบใดแบบหนึ่งแทน Image เนื่องจากสร้างมาเพื่อการนี้โดยเฉพาะ ยกเว้นจะเขียนแบบต้องการให้สวยงามเป็นหลักครับ
You do not have the required permissions to view the files attached to this post.

diamondbom
Member
Member
Posts: 112
Joined: Thu Jan 23, 2014 11:32 pm

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#14

Post by diamondbom » Mon Jan 15, 2018 7:19 am

ขอบคุณครับอาจารย์ ในที่นี้ผมต้องการให้ commandbutton เป็นตัว control และออกแบบให้รูปภาพเป็น object แสดงผลบนเซลในรูปแบบกึ่งกลางเซล(เซลที่ Merge เอาไว้เป็นแนวยาว)ประมาณแสดงรูปเป็น header ของ Report รบกวนอาจารยญ์ช่วยชี้แนะด้วยครับ :D
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 22553
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: เปลี่ยนพื้นหลังของ Image ด้วยคำสั้งจาก Command button

#15

Post by snasui » Mon Jan 15, 2018 3:05 pm

:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Dim r As Range, imgIcon As Object
Set r = Range("a5")
'Other code...    
Set imgIcon = ActiveSheet.Pictures.Insert(UserForm1.AddPic.Caption)
With imgIcon
    .Left = (r.Left + (r.MergeArea.Width - .Width)) / 2
    .Height = r.MergeArea.Height
End With
ในโอกาสถัดไปให้แนบไฟล์โปรแกรมที่ได้ลองปรับมาเองแล้วด้วยจะได้ช่วยตอบต่อไปจากนั้นครับ

Post Reply