Page 1 of 1
copy ข้อมูลจาก Sheet Data ไปวางที่ Sheet Result ครับ
Posted: Wed Jan 09, 2013 9:56 am
by niwat2811
ต้องการ copy ข้อมูลจาก Sheet Data ไปวางที่ Sheet Result ครับ โดย Code อยู่ที่ Module1 ชื่อ Process ครับ
โดยที่ Sheet Data ข้อมูลจะอยู่ในช่วง A14:K36 และข้อมูลจะเปลี่ยนไปเรื่อย ๆ เมื่อ Run Macro ที่ชื่อ Process
จะนำข้อมูลไปวางที่ Sheet Result แต่ว่าผลลัพธ์ที่ได้ไม่ตรงกับความต้องการครับ รบกวนผู้รู้ช่วยชี้แนะด้วยครับ ขอบคุณครับ
Re: copy ข้อมูลจาก Sheet Data ไปวางที่ Sheet Result ครับ
Posted: Wed Jan 09, 2013 1:09 pm
by joo

ลองปรับโค๊ดแบบนี้ดูครับ
Code: Select all
Sub Process()
Dim r As Range, ra As Range
Set ra = Worksheets("Data").Range("A14:K36")
Set r = Worksheets("Result").Range("B65536").End(xlUp).Offset(1, -1)
ra.Copy
r.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "Finish."
End Sub
Re: copy ข้อมูลจาก Sheet Data ไปวางที่ Sheet Result ครับ
Posted: Wed Jan 09, 2013 1:19 pm
by niwat2811
ขอบคุณมากครับ สำหรับ Code แต่ว่ายังไม่ตรงกับความต้องการครับ ผมอาจจะอธิบายไม่ละเอียด
คือว่า ข้อมูลที่ Sheet Data ช่วง A14:K36 จะเปลี่ยนแปลงไปเรื่อย บางทีก็มีแค่คอลัมภน์ A บางที ก็มีทั้ง A และ B
บางทีก็มีทั้ง A, B, C ซึ่งไม่แน่นอนครับ
Re: copy ข้อมูลจาก Sheet Data ไปวางที่ Sheet Result ครับ
Posted: Wed Jan 09, 2013 2:14 pm
by snasui

ลองปรับ Code เป็นตามด้านล่างครับ
Code: Select all
Sub Test0()
Dim r As Range, ra As Range
Dim lastRow As Long
With Sheets("Data")
Set ra = .Range("A1").SpecialCells(xlCellTypeConstants, 23)
End With
lastRow = Sheets("Result").UsedRange.Row + _
Sheets("Result").UsedRange.Rows.Count
For Each r In ra
Sheets("Result").Range("A" & lastRow). _
Offset(0, r.Column - 1) = r.Value
lastRow = lastRow + 1
Next r
End Sub
Re: copy ข้อมูลจาก Sheet Data ไปวางที่ Sheet Result ครับ
Posted: Wed Jan 09, 2013 3:22 pm
by niwat2811
ขอบคุณท่านอาจารย์มากครับ Code ที่ให้มาใช้ได้ตรงตามความต้องการครับ