Code บันทึกข้อมูลนี้ ย่อได้หรือเปล่าครับ
Posted: Sun Oct 04, 2015 10:12 am
ผมต้องการบันทึกข้อมูลจากเซลล์ D3,D4,D5,D8,D11,D6,I3,I6,H2 ใน Sheet "ป้อนข้อมูล" ไปเก็บไว้ใน "รายงาน" ลองดัดแปลง Code แล้วได้ดังนี้
ได้ผลตามที่ต้องการ แต่อยากทราบว่าเราจะเขียนให้มันสั้นกว่านี้ได้มั้ยครับ เวลาเรียกใช้หน้าจอมันกระพริบๆหน่อยนึง
Code: Select all
Sub save()
Sheets("ป้อนข้อมูล").Range("D3").Copy
With Sheets("รายงาน")
.Range("A" & .Range("A" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("H2").Copy
With Sheets("รายงาน")
.Range("B" & .Range("B" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("D11").Copy
With Sheets("รายงาน")
.Range("C" & .Range("C" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("D6").Copy
With Sheets("รายงาน")
.Range("D" & .Range("D" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("I3").Copy
With Sheets("รายงาน")
.Range("E" & .Range("E" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("D4").Copy
With Sheets("รายงาน")
.Range("F" & .Range("F" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("D5").Copy
With Sheets("รายงาน")
.Range("G" & .Range("G" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("I6").Copy
With Sheets("รายงาน")
.Range("H" & .Range("H" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Sheets("ป้อนข้อมูล").Range("D8").Copy
With Sheets("รายงาน")
.Range("I" & .Range("I" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
End With
Range("D3").Select
ActiveWorkbook.save
End Sub