Page 2 of 2

Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ

Posted: Thu May 03, 2012 10:22 am
by bank9597
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 หรือเปล่าครับ?
:D โค๊ดดังกล่าว จะทำการบันทึกข้อมูลจากชีท Temp ไปวางใน Database โดยวางทับซ้ำที่เดิมตลอดครับ

โค๊ด

Code: Select all

.SpecialCells(xlCellTypeConstants).ClearContents
ใช้ในการเคลียร์ข้อมูลครับ ไม่ได้ใช้วางข้อมูลวางต่อกัน
ส่วนโค๊ดที่กำหนดข้อมูลให้วางต่อกันคือ

Code: Select all

Rows.Count).End(xlUp)
คือการนับข้อมูลแล้วหาข้อมูลที่อยู่บรรทัดล่างสุด

Code: Select all

.Offset(1, 0)
กำหนดให้วางข้อมูลลงในบรรทัดถัดลงมา

จากโค๊ดที่บันทึกมา สามารถปรับได้สั้นๆ ดังนี้ครับ

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

Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ

Posted: Thu May 03, 2012 10:39 am
by bank9597
:lol: ค่อยๆ ถามไปครับ
จากโค๊ดดังกล่าวนั้นไม่สามารถวางต่อกันเรื่อยๆลงไปได้ครับ ต้องปรับโค๊ดดังนี้

Code: Select all

Sub SaveData()
  Sheets("Temp").Range("A2:Q196").Copy
  Sheets("Database").Range("A" & Rows.Count) _
 .End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
  End Sub

Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ

Posted: Thu May 03, 2012 12:55 pm
by Phrut.witt
ขอบคุณมากครับพี่ :o ไว้จะไปศึกษาเพิ่มเติมต่อ จะได้ช่วยคนอื่นต่อบ้าง :geek: