snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#21
Post
by snasui » Sat Jan 27, 2018 5:39 am
กรณีกำหนดด้วยมือให้คลิกขวาที่รูป > Format Picture > เลือก Properties > ตรง Object positioning เลือก Move and size with cells หากจะเขียนด้วย Code สามารถบันทึก Macro การกำหนดค่าตามข้างต้นแล้วนำ Code มาปรับใช้ดู ติดตรงไหนค่อยถามกันต่อครับ
diamondbom
Member
Posts: 121 Joined: Thu Jan 23, 2014 11:32 pm
#23
Post
by diamondbom » Mon Jan 29, 2018 1:28 pm
สวัสดีครับอาจารย์ จากโปรแกรมที่ผมทำได้แล้วนั้น
ผมจึงได้ทำการเขียนเพิ่มเพื่อใช้สำหรับการ Copy รูปไปใช้ใน sheet ถัดไป (ปุ่ม Copy Picture )
แต่จากโค้ดที่ผมเขียนนั้นสามารถ copy ได้เพียงแต่รูปอื่นๆ ส่วนรูปที่ผมกำหนดไว้ใน Range ("A1")ตั้งแต่ต้อนแรกนั้น
ไม่สามารถ copy ได้ รบกวนขอคำแนะนำด้วยครับอาจารย์
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#24
Post
by snasui » Mon Jan 29, 2018 6:04 pm
มีเงื่อนไขใดในการ Copy บ้างครับ
หากไม่มีสามารถ Copy ไปทั้งหมดได้เลยด้วย Code ด้านล่างครับ
Code: Select all
Sheets("Sheet1").Cells.Copy Sheets("Sheet2").Cells
diamondbom
Member
Posts: 121 Joined: Thu Jan 23, 2014 11:32 pm
#25
Post
by diamondbom » Mon Jan 29, 2018 6:09 pm
ขอบคุณครับอาจารย์
แต่ผมมีเงื่อนไขคือเนื้อหาในแต่ละ sheet จะแตกต่างกันครับ ต้องการ copy แค่เพียงรูปภาพที่จะทำให้เป็น Header ที่เหมือนกันครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#26
Post
by snasui » Mon Jan 29, 2018 6:15 pm
ตัวอย่าง Code ครับ
Code: Select all
Dim pic As Shape, rng As Range
Dim x As Double, y As Double
Range("A1").MergeArea.Select
For Each pic In ActiveSheet.Shapes
' If pic.Type = msoPicture Then
If InStr(pic.Name, "Pic") Then
x = pic.Height
y = pic.Left
pic.Copy
With Sheets("Sheet2")
.Select
.Range(pic.TopLeftCell.Address).Select
.Paste
With Selection
.Height = x
.Left = y
.Placement = xlMoveAndSize
End With
End With
End If
Next pic