Macro ที่ใช้ในการย้ายข้อมูลจาก Column เป็น Row หรือ จาก Row เป็น Column

 

เคยบ้างไหมว่าบางทีเราต้องการทำรายงานสักฉบับหนึ่งโดยรายชื่อก็มีอยู่แล้ว แต่รายชื่อพวกนั้นดันพิมพ์เก็บเป็นแนวตั้งเสียนี่ แต่รายงานที่เราต้องการ เราต้องการรายชื่อเป็นแนวนอนนี่ ถ้าหากมีโปรแกรมมาใช้แปลงข้อมูลจากแนวตั้งมาเป็นแนวนอน หรือแนวนอนมาเป็นแนวตั้งก็ดีหนะซิ ตัวอย่างมาโครข้างล่างนี้ เป็นโปรแกรมมาโครที่ใช้ในการแปลงข้อมูลจากแนวตั้งเป็น แนวนอน หรือจากแนวนอนเป็นแนวตั้งก็ได้ ขึ้นอยู่กับว่าเราเลือกข้อมูลตามแนวตั้งหรือแนวนอน (แต่ห้ามเลือกหลายๆ Row หรือ หลายๆ Column พร้อมกันนะ) หรือถ้าต้องการจะดาวน์โหลดไฟล์ Excel ไปใช้ก็ให้ คลิกที่นี่

ข้อจำกัดของโปรแกรม

  1. ไม่สามารถเลือกหลายๆ Row หรือหลายๆ Column พร้อมกันได้
  2. เนื่องจากจำนวน Column ใน Excel มีเพียงแค่ 256 ช่อง แต่จำนวน Row มีได้ถึง 65536 ช่อง ดังนั้นการแปลง มาเป็น Column ควรคำนึงด้วยว่าจะเกินจำนวน Column ที่จะรับได้หรือไม่
Sub Rotate()
Row1 = Selection.Rows.Count
Col1 = Selection.Columns.Count
If Row1 > 1 And Col1 > 1 Then
MsgBox "You cannot select more than 1 row and 1 column in one time"
Exit Sub
ElseIf Row1 = 1 And Col1 = 1 Then
MsgBox "Please select more then 1 cell"
Exit Sub
End If
Selection.Copy
If Row1 > 1 Then
ActiveCell.Offset(0, 1).Select
Else
ActiveCell.Offset(1, 0).Select
End If
ActiveCell.PasteSpecial Paste:=xlAll, Operation:=xlNone, Transpose:=True
End Sub

  Home Next Page