Page 1 of 1
การสร้าง Macro แบบ นี้ ทำอย่างไรครับ
Posted: Sun Jul 21, 2024 6:28 pm
by NuchLeeFay
สามารถ สร้าง Macro แบบนี้ ได้หรือไม่ครับ
เมื่อ ตำแหน่ง อยู่ ที่ F5 (ตำแหน่งที่ Cursor อยู่ ) ทำการ Copy ข้อมูล ของ Cell ที่ Column ถัดไปด้านซ้าย 2 Column และ เหนือขึ้นไป 2 Row (D3) ไปวางที่ cell ที่ถัดไปทางขวา 6 Column (L5)
โดย Macro นี้ จะ อ้างจุดเริ่มต้น จาก Cell ที่ ถูกเลือก เสมอ เช่น เมื่อ เปลี่ยนตำแหน่งของ Cell เริ่มต้น ไปที่ F9 จะไป Copy ที่ D7 ไปวางที่ L9
ขอบคุณครับ
ขอโทษที่อธิบายคำถาม งง นะครับ
Re: การสร้าง Macro แบบ นี้ ทำอย่างไรครับ
Posted: Sun Jul 21, 2024 6:54 pm
by snasui
สามารถทำได้ครับ
การเขียน Macro จะต้องเขียนมาเองก่อนเป็นกฎการใช้บอร์ดของที่นี่ ติดตรงไหนค่อยถามกันต่อครับ
ส่วนการอ้างอิงตำแหน่งสามารถใช้ Offset เข้ามาช่วยได้ เช่น
activecell.offset(-2,-2)
แปลว่าจากเซลล์ปัจจุบันให้ไปยังเซลล์ด้าน
บนห่างจากเซลล์ปัจจุบัน 2 บรรทัดและไปด้าน
ซ้าย 2 คอลัมน์
ถ้าเขียนเป็น
activecell.offset(2,8)
แปลว่าจากเซลล์ปัจจุบันให้ลงไปด้าน
ล่าง 2 บรรทัดและไปด้าน
ขวา 8 คอลัมน์
และถ้าเขียนเป็น
activecell.offset(0,0)
แปลว่าให้อยู่ที่เดิม
ลองทำความเข้าใจดูครับ
Re: การสร้าง Macro แบบ นี้ ทำอย่างไรครับ
Posted: Sun Jul 21, 2024 7:51 pm
by NuchLeeFay
ขอบคุณมากๆๆครับ
ตอนนี้ ได้ แบบนี้ แต่ มันดู ต้องทำต่อเนื่องจากแต่ละตำแหน่งไปเรื่อยๆๆ ดูแล้ว มันยาวมากๆๆ ครับ
Sub A_NewEGG()
'
' A_NewEGG Macro
'
'
ActiveCell.Activate
ActiveCell.Offset(-2, 0).Activate
Selection.Copy
ActiveCell.Offset(2, 0).Activate
ActiveSheet.Paste
ActiveCell.Offset(-1, 0).Activate
Selection.Copy
ActiveCell.Offset(1, 1).Activate
ActiveSheet.Paste
ActiveCell.Offset(-2, -16).Activate
Selection.Copy
ActiveCell.Offset(2, 17).Activate
ActiveSheet.Paste
ActiveCell.Offset(-2, -7).Activate
Selection.Copy
ActiveCell.Offset(2, 8).Activate
ActiveSheet.Paste
ActiveCell.Offset(-2, -7).Activate
Selection.Copy
ActiveCell.Offset(2, 8).Activate
ActiveSheet.Paste
ActiveCell.Offset(-2, -7).Activate
Selection.Copy
ActiveCell.Offset(2, 8).Activate
ActiveSheet.Paste
ActiveCell.Offset(-1, -20).Activate
Selection.Copy
ActiveCell.Offset(1, 21).Activate
ActiveSheet.Paste
ActiveCell.Offset(-1, -11).Activate
Selection.Copy
ActiveCell.Offset(1, 12).Activate
ActiveSheet.Paste
ActiveCell.Offset(-1, -11).Activate
Selection.Copy
ActiveCell.Offset(1, 12).Activate
ActiveSheet.Paste
ActiveCell.Offset(-1, -11).Activate
Selection.Copy
ActiveCell.Offset(1, 12).Activate
ActiveSheet.Paste
ActiveCell.Offset(0, -9).Activate
End Sub
Re: การสร้าง Macro แบบ นี้ ทำอย่างไรครับ
Posted: Sun Jul 21, 2024 9:02 pm
by snasui
กรุณาแนบไฟล์ตัวอย่างประกอบมาด้วยเสมอ เพื่อความสะดวกในการตอบของเพื่อนสมาชิก อธิบายถึงสิ่งที่ต้องการประกอบมาด้วยว่าหาก Code ทำงานถูกต้องผลลัพธ์จะมีลักษณะเป็นอย่างไร จะได้เข้าใจตรงกันครับ