snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ต้องการ copy ข้อมูลจาก Sheet Data ไปวางที่ Sheet Result ครับ โดย Code อยู่ที่ Module1 ชื่อ Process ครับ
โดยที่ Sheet Data ข้อมูลจะอยู่ในช่วง A14:K36 และข้อมูลจะเปลี่ยนไปเรื่อย ๆ เมื่อ Run Macro ที่ชื่อ Process
จะนำข้อมูลไปวางที่ Sheet Result แต่ว่าผลลัพธ์ที่ได้ไม่ตรงกับความต้องการครับ รบกวนผู้รู้ช่วยชี้แนะด้วยครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
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
ขอบคุณมากครับ สำหรับ Code แต่ว่ายังไม่ตรงกับความต้องการครับ ผมอาจจะอธิบายไม่ละเอียด
คือว่า ข้อมูลที่ Sheet Data ช่วง A14:K36 จะเปลี่ยนแปลงไปเรื่อย บางทีก็มีแค่คอลัมภน์ A บางที ก็มีทั้ง A และ B
บางทีก็มีทั้ง A, B, C ซึ่งไม่แน่นอนครับ
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