snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub PasteData()
Dim rs As Range, rt As Range
Dim r As Range
Set rs = Worksheets("Temp").Range("E2:E24")
For Each r In rs
If r <> 0 Then
'กำหนดข้อมูลปลายทางที่จะนำค่ามาวาง
Set rt = Worksheets("Historical").Range("B" & Rows.Count) _
.End(xlUp).Offset(1, 0)
'กำหนดข้อมูลต้นทาง และ resize เพื่อเปลี่ยนขนาดความสูงเป็น 1 บรรทัดความกว้าง 9 คอลัมน์
r.Offset(0, -4).Resize(1, 9).Copy
rt.PasteSpecial xlPasteValues
End If
Next r
Application.CutCopyMode = False
MsgBox "Finish."
End Sub