:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

แปลงจาก Column เป็ม Row

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

แปลงจาก Column เป็ม Row

#1

Post by tstc79tt »

คือผมต้องการแปลง ข้อมูลจาก Column เป็น Row มีวิธีทำให้คอลัม มากกว่า 256 ได้ไหมครับ หากไม่มีก็ไม่เป็นไรตรับ

แล้วก็ ผมจะทำยังครับให้กด ปุ่ม CollectResult แล้วค่าจากด้านบนถูกก็อปลงมาข้างล่าง ลงไปเรื่อยๆในแต่ละครั้งที่กด
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แปลงจาก Column เป็ม Row

#2

Post by snasui »

:D
tstc79tt wrote:คือผมต้องการแปลง ข้อมูลจาก Column เป็น Row มีวิธีทำให้คอลัม มากกว่า 256 ได้ไหมครับ หากไม่มีก็ไม่เป็นไรครับ
ใน Excel 2003 ไม่มีวิธีในการเพิ่มคอลัมน์ให้มากกว่า 256 คอลัมน์ครับ
tstc79tt wrote: ผมจะทำยังครับให้กด ปุ่ม CollectResult แล้วค่าจากด้านบนถูกก็อปลงมาข้างล่าง ลงไปเรื่อยๆในแต่ละครั้งที่กด
การทำเช่นนั้นต้องเขียน VBA ไม่ทราบว่าได้เขียนมาแล้วหรือไม่ ชือ Procedure ว่าอะไร อยู่ใน Module ใดครับ
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: แปลงจาก Column เป็ม Row

#3

Post by tstc79tt »

ทำไม่ได้ครับ เลยไม่มีในนั้น :)
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แปลงจาก Column เป็ม Row

#4

Post by snasui »

:D สำหรับ VBA ต้องเป็นไปตามกฎข้อ 5 ด้านบนครับ :roll:
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: แปลงจาก Column เป็ม Row

#5

Post by tstc79tt »

Sub CopyPaste()
Dim sh As Worksheet

For Each sh In Application.Worksheets

Code: Select all

If sh.Index <> Worksheets.Count Then
Worksheets(3).Range("A500").End(xlUp).Offset(1, 0).Value = sh.Range("A1:L34").Value
End If
Next sh



End Sub


อธิบายโค๊ด บรรทัดนี้ให้ผมได้ไหมครับ อยากรู้การทำงานของมัน

แล้วก็หากผมต้องการ ทำข้อมูล จาก column ชีต 2 มาใส่ใน ชีต3 เป็น Row แทน นี้ทำยังไงหรือครับ ผมลองใช้ tranpose มันก็ไม่ขึ้นให้น่ะครับ

อยู่มีไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แปลงจาก Column เป็ม Row

#6

Post by snasui »

:D ลองดูคำแปลใน Code ด้านล่างครับ

Code: Select all

If sh.Index <> Worksheets.Count Then 'หากลำดับที่ของชีท sh ไม่เท่ากับจำนวนชีททั้งหมดแล้ว
Worksheets(3).Range("A500").End(xlUp).Offset(1, 0).Value = sh.Range("A1:L34").Value 'ให้ค่าของเซลล์ว่างเซลล์แรกในคอลัมน์ A โดยดูจาก A500 ขึ้นไป ของชีทลำดับที่ 3 มีค่าเท่ากับค่าในชีท sh ช่วงเซลล์ A1:L34
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: แปลงจาก Column เป็ม Row

#7

Post by tstc79tt »

ขอบคุณ ถามต่อน่ะครับ ผมลอง Tranpose เปลี่ยนจาก คือนำข้อมูลจาก แนวตั้งมาเป็นแนวนอนในอีกชีต ขอคำชี้แนะหน่อยครับ มันผิดๆน่ะครับที่ผมพยายามทำ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แปลงจาก Column เป็ม Row

#8

Post by snasui »

:D ผมยังไม่ดูไฟล์แนบนะครับ

จากที่แนบมาถามในความเห็นก่อนหน้า สิ่งที่ต้องการทำคือการสลับแกนของข้อมูล ตาม Code ที่เขียนมาในความเห็นก่อนนั้นไม่ได้เป็นการสลับแกนของข้อมูลแต่อย่างใด

ให้ลองบันทึก Macro เพื่อดูว่าการสลับแกนข้อมูลนั้นได้ Code เป็นอย่างไร แล้วค่อยนำ Code นั้นมาปรับใช้ครับ

โดยลองบันทึก Macro ตามลำดับดังนี้ครับ
  1. คลิกขวาที่พื้นที่ต้นทาง > Copy
  2. คลิกขวาที่เซลล์ปลายทาง > Paste Special > Values > Transpose > OK > กดแป้น ESC
  3. ดู Code ที่ได้และปรับใช้
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: แปลงจาก Column เป็ม Row

#9

Post by tstc79tt »

แล้วทำเป็น Function ได้หรือปล่าวครับ หรือ ต้องใช้เป็ฯ VBA อย่างเดี่ยวครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แปลงจาก Column เป็ม Row

#10

Post by snasui »

:D ฟังก์ชั่นก็ทำได้ครับ

ลองตามนี้ครับ
  1. ที่ C4 คีย์
    =INDEX(Sheet2!$C$4:$C$49,COLUMNS($C4:C4))
    Enter > Copy ไปทางขวา
  2. ที่ C5 คีย์
    =INDEX(Sheet2!$E$4:$E$49,COLUMNS($C5:C5))
    Enter > Copy ไปทางขวา
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: แปลงจาก Column เป็ม Row

#11

Post by tstc79tt »

ขอโทษครับผมแจ้งไม่ละเอียดที่ว่า เรื่องโค็ดด้านบนผมอยากรู้ และก็ดันเปลี่ยนมาถาม เรื่อง การแปลงแนวตั้งแนวนอน

ขอบคุณมากครับ สำหรับ Function Tranpose นี่ทำงานยังไงเหรอครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แปลงจาก Column เป็ม Row

#12

Post by snasui »

:D ทำการสลับแกนข้อมูลครับ อ่านที่นี่และลองทำตามจะได้เข้าใจมากขึ้นครับ

http://office.microsoft.com/th-th/excel ... aspx?CTT=1
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: แปลงจาก Column เป็ม Row

#13

Post by tstc79tt »

ขอบคุณครับ ของอาจารย์ที่ให้มาปัญหาน้อยกว่าที่ ใช้ Tranpose เดี่ยวๆเยอะเลยครับ :D
Post Reply