กรณีใช้ Macro Recorder ในการรับส่งข้อมูล

สมมติว่าเรากำลังอยู่ในแฟ้มที่มี Range Name ชื่อ Source และ Target และต้องการสร้างชุดคำสั่งเพื่อทำหน้าที่ส่งค่ารวมทั้ง Format จาก Source ไปยัง Target ให้ใช้ Recorder บันทึกตามขั้นตอนต่อไปนี้

  1. กดปุ่ม F5 เลือกไปยัง Source
  2. กดปุ่ม Ctrl+c เพื่อสั่ง Copy
  3. กดปุ่ม F5 เลือกไปยัง Target
  4. กดปุ่ม Enter เพื่อ Paste

ชุดคำสั่งที่ได้จากการใช้ Macro Recorder

Sub CopySource2Target()
    Application.Goto Reference:="Source"
    Selection.Copy
    Application.Goto Reference:="Target"
    ActiveSheet.Paste
End Sub

แต่ถ้าไม่ต้องการนำ Format ตามไปที่ Target ด้วย ให้เปลี่ยนการบันทึก Macro ขั้นที่ 4 เป็น การคลิกขวาแล้วเลือก Paste Special > Values จะทำให้เกิดชุดคำสั่งต่างจากเดิมเล็กน้อยเป็น

Sub CopyDataSource2Target()
     Application.Goto Reference:="Source"
     Selection.Copy
     Application.Goto Reference:="Target"
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

ซึ่งจะพบว่ารหัสในขั้นตอนการ Paste Special ที่ได้จากการบันทึก Macro เป็นรหัสที่ยาวเกินต้องการ ขอให้ตัดเหลือเพียง Selection.PasteSpecial Paste:=xlPasteValues ก็พอ กลายเป็นชุดคำสั่งที่สั้นและอ่านได้ความตามที่ต้องการมากขึ้นเป็น

Sub CopyDataSource2Target()
     Application.Goto Reference:="Source"
     Selection.Copy
     Application.Goto Reference:="Target"
     Selection.PasteSpecial Paste:=xlPasteValues
End Sub

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

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

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234