Page 1 of 1
การคัดลอกข้อมูลหลายคอลัมภ์ โดยที่จำนวนคอลัมภ์ไม่แน่นอนใน Excel (VBA)
Posted: Thu Nov 24, 2016 9:56 pm
by Kanok

สอบถามเกี่ยวกับการคัดลอกข้อมูลหลายคอลัมภ์จาก Sheet 1 ไปยัง Sheet 2
โดยที่จำนวนคอลัมภ์ไม่แน่นอนค่ะ โดยใน Sheet 1 จะเริ่ม copy ตั้งแต่ คอลัมภ์ AE ไปจนถึงคอลัมภ์สุดท้าย
แล้วนำไปวางที่ Sheet 2 คอลัมภ์ G ค่ะ
เขียนโค้ดเบื้องต้น มาดังนี้ค่ะ :
Code: Select all
Sub Copymulticolumn()
Dim LC As Integer
LC = Sheets("Sheet1").Cells(1, Columns.Count).End(xlToLeft).Column
For i = 31 To LC
Sheets("sheet1").Select
Columns(i).Copy
Sheets("sheet2").Select
Columns(6 + i).Select
Selection.Paste
Next i
End Sub
รบกวนขอคำชี้แนะด้วยค่ะ
ไฟล์แนบค่ะ --->
1Q_คัดลอกข้อมูลหลายคอลัมภ์ไปยัง Sheet2.xlsm
[img]
คัดลอกหลายคอลัมภ์ไปยัง%20sheet%202.png
[/img]
Re: การคัดลอกข้อมูลหลายคอลัมภ์ โดยที่จำนวนคอลัมภ์ไม่แน่นอนใน Excel (VBA)
Posted: Thu Nov 24, 2016 11:01 pm
by snasui

ตัวอย่างการปรับ Code ตามด้านล่างครับ
Code: Select all
Dim rall As Range
With Sheets("Sheet1")
Set rall = .Range("ae1", .Range("ae1") _
.End(xlToRight).Resize(.UsedRange.Rows.Count))
End With
Sheets("Sheet2").Range("g1") _
.Resize(rall.Rows.Count, rall.Columns.Count).Value = rall.Value
Re: การคัดลอกข้อมูลหลายคอลัมภ์ โดยที่จำนวนคอลัมภ์ไม่แน่นอนใน Excel (VBA)
Posted: Fri Nov 25, 2016 11:30 am
by Kanok
snasui wrote:
ตัวอย่างการปรับ Code ตามด้านล่างครับ
Code: Select all
Dim rall As Range
With Sheets("Sheet1")
Set rall = .Range("ae1", .Range("ae1") _
.End(xlToRight).Resize(.UsedRange.Rows.Count))
End With
Sheets("Sheet2").Range("g1") _
.Resize(rall.Rows.Count, rall.Columns.Count).Value = rall.Value
ขอบคุณมากค่ะ สำหรับการปรับโค้ด สามารถรันได้แล้วค่ะ
รบกวนขอถามท่านอาจารย์ เพิ่มเติมได้ไหมค่ะว่า ในกรณีการคัดลอกข้อมูล เราไม่จำเป็นต้องใช้คำสั่ง copy ก็ได้ใช่ไหมค่ะ
แล้วในกรณีนี้ rall ถูกกำหนดให้เป็นช่วงคอลัมภ์ที่เราต้องการจากนั้นไปที่ Sheet2 เซลล์ g1
คำสั่ง rall.Rows.Count ->เพื่อนับจำนวนแถว, และคำสั่ง rall.Columns.Count -> เพื่อนับจำนวน column
จากนั้น ช่วงเซลล์นี้ (rall.Rows.Count, rall.Columns.Count) มีค่าเท่ากับค่า rall.Value (ซึ่งเป็นค่าใน sheet 1)
ไม่ทราบว่าเข้าใจถูกต้องหรือเปล่าค่ะ ช่วยชี้แนะดด้วยค่ะ เนื่องจากอยากนำสูตรไปปรับใช้ในกรณีอื่นๆอีกค่ะ
ขอบคุณมากค่ะ
Re: การคัดลอกข้อมูลหลายคอลัมภ์ โดยที่จำนวนคอลัมภ์ไม่แน่นอนใน Excel (VBA)
Posted: Fri Nov 25, 2016 5:38 pm
by snasui

เข้าใจถูกแล้วครับ