Page 1 of 1
Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Wed Apr 20, 2011 1:52 pm
by ::mangpor::
รบกวนผู้รู้หน่อยค่ะ อยากได้สุตรที่ Copy ข้อมูลจากบาง Column ไปโชว์อีก Sheet โดยอัตโนมัติน่ะค่ะ ก่อนหน้านี้เคยอ่านอีกกระทู้ที่มีการตอบไปแล้ว แต่ลองเอามาดัดแปลงใช้กับไฟล์ตัวเองแล้วงงๆ น่ะค่ะ รบกวนท่านผู้รู้ทีนะค่ะ
ต้องการ copy ข้อมูลจาก sheet "Input" ไปโชว์ที่ sheet "Result" ตามตัวอย่างไฟล์แนบนะค่ะ
ขอบคุณมากค่ะ
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Wed Apr 20, 2011 6:09 pm
by snasui
ยังไม่กระจ่างครับ สำหรับการ Link ข้อมูลแบบไม่มีเงื่อนไข สามารถทำดังนี้
- คีย์เครื่องหมาย = ที่เซลล์ปลายทาง
- คลิกเซลล์ต้นทางที่ต้องการเชื่อมโยง ข้อมูลก็จะเชื่อมโยงกัน
- Copy สูตรไปยังพื้นที่เป้าหมายอื่น ๆ
- ลบคอลัมน์ที่ไม่ต้องการทิ้งไป
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 7:48 am
by ::mangpor::
ขออภัยค่ะที่บอกไม่กระจ่าง คือข้อมูลใน sheet จะเพิ่มขึ้นเรื่อย น่ะค่ะ ข้อมูลที่เพิ่มเข้ามาจะเป็นการ copy จาก file อื่นมาใส่ทับน่ะค่ะโดยที่ตำแหน่ง column ทุกอย่างจะยังคงเดิม
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 8:12 am
by snasui
เท่าที่อ่านดูคงต้องทำด้วย VBA กรณี Copy จากไฟล์อื่นต้องระบุชื่อไฟล์ต้นทางมาด้วยเพื่อจะเขียนเข้าไปใน Code ครับ
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 8:26 am
by ::mangpor::
ขอบคุณค่ะ...ตอบรวดเร็วทันใจดีจังค่ะ อยากได้สูตรแบบเฉพาะ Sheet นี้น่ะค่ะ ไม่ทราบจะทำได้หรือเปล่า เพราะข้อมูลที่จะ copy มาจะมา paste วางไว้เองน่ะค่ะ
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 8:57 am
by snasui
ผมเขียน Code ให้แล้วตามด้านล่าง ลองทดสอบตามไฟล์แนบครับ
Code: Select all
Sub CopyPasteData()
Dim r1 As Range, r2 As Range, rt As Range, rs As Range
With Worksheets("Input")
Set r1 = .Range("A3", .Range("A65536").End(xlUp))
Set r2 = r1.Offset(0, 4).Resize(, 4)
Set rs = Union(r1, r2)
End With
Set rt = Worksheets("Results").Range("A65536").End(xlUp).Offset(1, 0)
rs.Copy rt
Application.CutCopyMode = False
MsgBox "Finish."
End Sub
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 9:12 am
by ::mangpor::
ขอบคุณมากๆ ค่ะ เยี่ยมเลยค่ะ อยากสอบถามอีกนิดนึงค่ะ คือจริงๆ column จากไฟล์จริงๆ จะเยอะมากกว่านี้อีกน่ะค่ะ ถ้าต้องการเพิ่มจำนวน column ที่จะ copy มาที่ sheet result น่ะค่ะ ต้องเพิ่มตรงไหนค่ะ
**ขออภัยนะค่ะ พอดีไม่เป็นเรื่อง VBA จริงๆ
รบกวนด้วยค่ะ **
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 9:19 am
by snasui
ตัวอย่างที่ส่งมาควรจะเป็นตัวแทนของไฟล์จริง เพียงแต่ไม่ควรเป็นข้อมูลจริง การที่คอลัมน์ไม่เท่ากันกับตัวอย่างจะต้องปรับที่ Code นี้ครับ
Code: Select all
Dim r1 As Range, r2 As Range, rt As Range, rs As Range
With Worksheets("Input")
Set r1 = .Range("A3", .Range("A65536").End(xlUp))
Set r2 = r1.Offset(0, 4).Resize(, 4)
Set rs = Union(r1, r2)
End With
หากลองแล้วไม่สำเร็จก็ส่งไฟล์ตัวอย่างที่เป็นตัวแทนของข้อมูลจริงมาใหม่ครับ
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 9:32 am
by ::mangpor::
งั้นรบกวนทำที่ไฟล์นี้น่ะค่ะ ขอบคุณค่ะ
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 10:44 am
by snasui
สามารถปรับปรุง Code เป็นตามด้านล่าง ดูไฟล์แนบประกอบครับ
Code: Select all
Sub CopyPasteData()
Dim r As Range, rt As Range, rs As Range
With Worksheets("Input")
Set r = .Range("B1:D1, T1, V1:X1, Z1:AF1" _
& ", AH1:AI1, AN1, AP1:AW1, AY1:BA1" _
& ", BD1, BG1:BM1, BO1:BP1, BR1:BS1" _
& ", BU1:BV1, BX1, CA1, CD1:CH1")
r.EntireColumn.Hidden = True
Set rs = .Range("A3:CH" & .Range("A65536").End(xlUp).Row) _
.SpecialCells(xlCellTypeVisible)
End With
Set rt = Worksheets("Result").Range("A65536").End(xlUp).Offset(1, 0)
rs.Copy rt
r.EntireColumn.Hidden = False
Application.CutCopyMode = False
MsgBox "Finish."
End Sub
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Fri Apr 22, 2011 10:50 am
by ::mangpor::
ขอบคุณมากๆ ค่ะ ใช้ได้แล้วค่ะ
Re: Copy ข้อมูลจากบาง column ไปอีก sheet แบบ Auto
Posted: Tue May 08, 2018 10:26 am
by lotto009
ขออนุญาตเอาไปใช้ด้วยนะครับอาจาร์ย แหะแหะ