แมโครเพื่อย้ายหรือคัดลอกข้อมูลระหว่างสมุดงาน Excel
บทความนี้จะสอนวิธี คัดลอกหรือถ่ายโอนข้อมูลระหว่างสเปรดชีต ใน Microsoft Excel โดยใช้ VBA ในตัวอย่างนี้เราจะสอนวิธีการรวมข้อมูลโดยใช้แบบสอบถามแบบใช้ผนวกข้อมูล การรวมกันของงานนี้จะช่วยให้คุณสามารถรวมข้อมูลในแผ่นงานที่มีอยู่เพื่อการวิเคราะห์ที่ง่ายขึ้น
แมโครเพื่อย้ายหรือคัดลอกข้อมูลใน Excel
ลองพิจารณากรณีที่คุณต้องการคัดลอกข้อมูลจากเวิร์กบุ๊กหนึ่งจากนั้นแก้ไขเนื้อหาเป็นเวิร์กบุ๊กอื่น ในตัวอย่างนี้สมุดงานหนึ่ง (สมุดงานต้นฉบับ) มี 1 2 3 4 5 และสมุดงานสองมี 6 7 8 9 0หลังจากเรียกใช้แมโครสมุดงานสองควรมี 6 7 8 9 0 1 2 3 4 5 รูปแบบของเวิร์กบุ๊กทั้งสองเหมือนกัน
นี่คือแมโครที่สามารถถ่ายโอนและผนวกข้อมูลของคุณ (ตรวจสอบให้แน่ใจว่าคุณอ่าน หมายเหตุ ในรหัส):
Sub CopyData ()ติ่ม sBook_t As String
ติ่ม sBook_s As String
ติ๋ม sSheet_t As String
Dim sSheet_s As String
ติ่ม lMaxRows_t ตราบใดที่
ติ่ม lMaxRows_s นาน
Dim sMaxCol_s As String
ติ่ม sRange_t As String
Dim sRange_s As String
sBook_t = "เป้าหมายข้อมูล WB- คัดลอกข้อมูลไปยัง WB.xls"
sBook_s = "แหล่งข้อมูล WB - คัดลอกข้อมูลไปยัง WB.xls"
sSheet_t = "กำหนดเป้าหมาย WB"
sSheet_s = "ที่มา"
lMaxRows_t = สมุดงาน (sBook_t). แผ่น (sSheet_t). เซลล์ (Rows.Count, "A"). End (xlUp) .Row
lMaxRows_s = สมุดงาน (sBook_s). แผ่น (sSheet_s). เซลล์ (Rows.Count, "A"). End (xlUp) .Row
sMaxCol_s = สมุดงาน (sBook_s). แผ่น (sSheet_s). เซลล์ (1, คอลัมน์. จำนวน). สิ้นสุด (xlToLeft). ที่อยู่
sMaxCol_s = Mid (sMaxCol_s, 2, InStr (2, sMaxCol_s, "$") - 2)
ถ้า (lMaxRows_t = 1) จากนั้น
sRange_t = "A1:" & sMaxCol_s & lMaxRows_s
sRange_s = "A1:" & sMaxCol_s & lMaxRows_s
สมุดงาน (sBook_t). แผ่น (sSheet_t). ช่วง (sRange_t) = สมุดงาน (sBook_s). แผ่น (sSheet_s). ช่วง (sRange_s) .Value
อื่น
sRange_t = "A" & (lMaxRows_t + 1) & ":" & sMaxCol_s & (lMaxRows_t + lMaxRows_s - 1)
sRange_s = "A2:" & sMaxCol_s & lMaxRows_s
สมุดงาน (sBook_t). แผ่น (sSheet_t). ช่วง (sRange_t) = สมุดงาน (sBook_s). แผ่น (sSheet_s). ช่วง (sRange_s) .Value
' ###################### บันทึก #################
'บรรทัดต่อไปนี้จะต้องใช้หมายเลขซีเรียลจะได้รับการแก้ไขด้วยแทนที่จะถูกคัดลอก
หากไม่มีความจำเป็นให้ลบบรรทัดด้านล่าง
สมุดงาน (sBook_t). แผ่น (sSheet_t). จัดเรียง ("A" & lMaxRows_t) .AutoFill ปลายทาง: = สมุดงาน (sBook_t). แผ่น (sSheet_t) .Range ("A" & lMaxRows_t - 1)) ประเภท: = xlFillSeries
สิ้นสุดถ้า
ส่วนท้าย