Phrut.witt wrote:คือผมเขียนโค้ดเองไม่เป็นน่ะครับพี่ กดบันทึกเป็นอย่างเดียว จากCode ที่ผมบันทึกไว้ ตามนี้
Sub Save_data()
'
' Save_data áÁâ¤Ã
'
'
Sheets("Temp").Select
Range("A2:Q196").Select
Selection.Copy
Sheets("Database").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
ต้องเพิ่มหรือแก้ไขยังไงเหรอครับให้มันไปวางค่าทบไล่ลำดับไป ใช่ .SpecialCells(xlCellTypeConstants).ClearContents หรือเปล่าครับ?

โค๊ดดังกล่าว จะทำการบันทึกข้อมูลจากชีท Temp ไปวางใน Database โดยวางทับซ้ำที่เดิมตลอดครับ
โค๊ด
Code: Select all
.SpecialCells(xlCellTypeConstants).ClearContents
ใช้ในการเคลียร์ข้อมูลครับ ไม่ได้ใช้วางข้อมูลวางต่อกัน
ส่วนโค๊ดที่กำหนดข้อมูลให้วางต่อกันคือ
คือการนับข้อมูลแล้วหาข้อมูลที่อยู่บรรทัดล่างสุด
กำหนดให้วางข้อมูลลงในบรรทัดถัดลงมา
จากโค๊ดที่บันทึกมา สามารถปรับได้สั้นๆ ดังนี้ครับ
Code: Select all
Sub SaveData()
Dim A As Worksheet
Dim B As Worksheet
Set A = Sheets("Temp")
Set B = Sheets("Database")
A.Range("A2:Q196") _
.Resize(A.Range("U1"), 14).Copy
B.Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End Sub