Page 1 of 1

นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Wed Apr 20, 2011 7:04 pm
by KI_KU
ต้องการนำข้อมูลใหม่ที่ใส่ไปต่อท้ายฐานข้อมูลเดิมข้อมูลเดิม
โดยใช้ vb

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Wed Apr 20, 2011 7:15 pm
by snasui
:D สามารถใช้ Code ตามด้านล่าง ดูไฟล์แนบประกอบครับ

Code: Select all

Sub PasteData()
Dim r As Range
Dim t As Range
With Worksheets("Sheet1")
    Set r = .Range("C4:E4")
    Set t = .Range("H65536").End(xlUp).Offset(1, 0)
End With
r.Copy
t.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "Finish."
End Sub

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Wed Apr 20, 2011 11:39 pm
by KI_KU
ขอบคุณมากครับ

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Fri Apr 22, 2011 3:17 pm
by KI_KU
รบกวนถานอาจารย์อีกรอบครับ
ถ้าผมจะเปลี่ยนการส่งข้อมูลไปที่ sheet2
ผมต้องแก้ตรงไหนบ้างครับ
(คือผมลองแก้มาหลายวิธีแล้วครับแต่มันerror)
ขอบคุณล่วงหน้าครับ

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Fri Apr 22, 2011 3:24 pm
by snasui
ส่งไฟล์ตัวอย่างที่เป็นตัวแทนของไฟล์จริงมาด้วยครับ เพราะต้องอ้างตำแหน่งครับ

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Fri Apr 22, 2011 7:01 pm
by KI_KU
คำถามเหมือนเดิมครับคือนำค่าที่ใส่ใน sheet1 ไปต่อท้ายฐานข้อมูลเดิมที่มีอยู่แล้วโดยใช้Visal basic
แต่ว่าฐานข้อมูลเดิมอยู่ที่sheet2
ขอบคุณล่วงหน้าครับอาจารย์

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Fri Apr 22, 2011 8:21 pm
by joo
ลองแบบนี้พอได้ไหมครับ :D

Code: Select all

Sub PasteData()
Dim rs As Range
Dim rt As Range
    Set rs = Worksheets("Sheet1").Range("D4:F4")
    Set rt = Worksheets("Sheet2").Range("F65536").End(xlUp).Offset(1, 0)
    rs.Copy
    rt.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    MsgBox "Finish."
End Sub

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Fri Apr 22, 2011 9:23 pm
by KI_KU
ขอบคุณคุณ joo มากมายครับ :D :D :D

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Sat Jun 08, 2013 9:34 pm
by sana
joo wrote:ลองแบบนี้พอได้ไหมครับ :D

Code: Select all

Sub PasteData()
Dim rs As Range
Dim rt As Range
    Set rs = Worksheets("Sheet1").Range("D4:F4")
    Set rt = Worksheets("Sheet2").Range("F65536").End(xlUp).Offset(1, 0)
    rs.Copy
    rt.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    MsgBox "Finish."
End Sub
จากสูตรเป็นการทำฟอร์มโดยกรอกในแนวนอน แล้วถ้าฟอร์มกรอกในแนวตั้ง แก้ตรงใหนยังไงครับ อย่างตัวอย่างเขตข้อมูล D4:F4 (ฟอร์มกรอกเป็นแนวนอน คือ D4, E4, F4) ถ้าฟอร์มกรอกเป็นแนวตั้ง (แต่ข้อมูลในชีท 2 เป็นแนวนอนเหมือนเดิม) เช่น D4,D5,D6 ทำไงครับ

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Sat Jun 08, 2013 10:29 pm
by snasui
:D การวางแบบสลับแกนใช้ Transpose ลองบันทึก Macro ดูครับ

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Sat Jun 08, 2013 10:54 pm
by sana
snasui wrote::D การวางแบบสลับแกนใช้ Transpose ลองบันทึก Macro ดูครับ
joo wrote:ลองแบบนี้พอได้ไหมครับ :D

Code: Select all

Sub PasteData()
Dim rs As Range
Dim rt As Range
    Set rs = Worksheets("Sheet1").Range("D4:F4")
    Set rt = Worksheets("Sheet2").Range("F65536").End(xlUp).Offset(1, 0)
    rs.Copy
    rt.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    MsgBox "Finish."
End Sub
ผมด้อยปัญญาจริงๆ ทำไงครับอาจารย์ ไม่แน่ใจว่า ตามข้างบนแก้ข้อความตรงบันทัดใหนได้บ้างป่าวครับ เรื่องของเรื่องไม่เคยใช้พวกนี้เลยครับ สมัยเรียนพวกเขียนโค้ดอะไรต่างๆ ก็เรียนแค่ เทอร์โบปาสคาลแบบ งูๆ ปลาๆ :(

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Sat Jun 08, 2013 10:57 pm
by snasui
:D การใช้ Code ต้องเขียนมาเองครับ ถ้านำ Code อื่นมาถามก็ต้องปรับตามที่ตัวเองต้องการแล้ว ติดตรงไหนค่อยถามกันตามกฎข้อ 5 ด้านบนครับ

Re: นำข้อมูลใหม่ไปต่อท้ายข้อมูลเดิม

Posted: Sat Jun 08, 2013 11:31 pm
by sana
snasui wrote::D การใช้ Code ต้องเขียนมาเองครับ ถ้านำ Code อื่นมาถามก็ต้องปรับตามที่ตัวเองต้องการแล้ว ติดตรงไหนค่อยถามกันตามกฎข้อ 5 ด้านบนครับ
ครับเดียวไปลองดูก่อนครับ