Excel - เติมข้อมูลตามตัวแปร

ปัญหา

ฉันต้องการเติมแผ่นงาน Excel ที่มีจำนวนแถวตามตัวแปรตามจำนวนที่ใส่ในคอลัมน์คงที่

 คอลัมน์ ABCD r1 2009096 1001 19 5 r2 2009097 1002 12 2 r3 2009097 1003 36 6 r4 2009099 1004 10 3 r5 2009099 1005 11 3 r6 2009099 1006 12 2 r7 2009099 1007 13 4 r8 2009101 1008 25 5 r8 2009101 1008 25 5 

ตามตัวเลขที่แทรกในคอลัมน์ D ฉันตั้งใจจะรับผลลัพธ์ต่อไปนี้:

 คอลัมน์ ABC r1 2009096 1001 19 r2 2009096 1001 19 r3 2009096 1001 19 r4 2009096 1003 19 r5 2009096 1003 36909 1003 191 r9 2009097 1003 36 r10 2009097 1003 36 r10 2009097 1003 36 r13 2009097 1003 36 

สารละลาย

สมมติว่าข้อมูลอยู่ในแผ่นงาน 1 เริ่มต้นที่แถว 1 (ไม่มีส่วนหัว)

ผลลัพธ์จะปรากฏในแผ่นงาน 2

แก้ไขชื่อชีตและทำการสำรองไฟล์ก่อนจากนั้นดูว่ามาโครนี้ให้ผลลัพธ์ที่ต้องการหรือไม่:

 การทดสอบย่อย () Dim lRow, lRow2, x, y ในฐานะ Integer lRow = ชีต ("sheet1") ช่วง ("E" & Rows.Count) .End (xlUp) .Row สำหรับแต่ละเซลล์ในชีต ("Sheet1") .Range ("E1: E" & lRow) x = cell.Value y = 0 Do Sheets ("Sheet1") เลือกช่วง (CellsRow, "A"), Cells (cell.Row, "D" )). คัดลอก lRow2 = แผ่นงาน ("Sheet2"). ช่วง ("A" & แถวจำนวน) .End (xlUp) .Offset (1, 0). แผ่นงานแถว ("Sheet2"). ช่วง ("A" & lRow2) .PasteSpecial y = y + 1 วนซ้ำจนถึง x = y ส่วนย่อยของเซลล์ถัดไป 

ขอบคุณ TrowaD สำหรับเคล็ดลับนี้

บทความก่อนหน้านี้ บทความถัดไป

เคล็ดลับยอดนิยม