Page 1 of 1

insert next row

Posted: Mon Jul 18, 2011 7:58 pm
by janpranot
ผมใช้ vba ในการ insert row

ถ้าสมมุติ row 1 2 3 ..........มีข้อมูลแล้ว

ต้องการ add row ที่ 4 หรือ row ต่อๆไป จะใช้คำสั่งอะไรดีครับ

รบกวนแนะนำหน่อยครับ ขอบคุณครับผม

Re: insert next row

Posted: Mon Jul 18, 2011 8:17 pm
by snasui
:D ลองส่งไฟล์ที่เขียน VBA ไว้แล้วมาให้ด้วยครับ จะได้เขียนต่อหรือปรับปรุงจากนั้นครับ

Re: insert next row

Posted: Mon Jul 18, 2011 8:32 pm
by janpranot
ส่งไปให้แล้วครับผม ที่ hotmail รบกวนหน่อยครับ :P

ขอบคุณครับ

Re: insert next row

Posted: Mon Jul 18, 2011 8:55 pm
by snasui
:D ที่ Forum นี้สามารถแนบไฟล์ได้ครับ ช่วยแนบมาที่นี่อีกรอบครับ และควรส่งเป็นตัวอย่างไฟล์มาแทนไฟล์จริงครับ

Re: insert next row

Posted: Mon Jul 18, 2011 9:11 pm
by janpranot
อธิบายนิดนะครับ

sheet บันทึกรายการ เวลากดปุ่มบันทึกรายการ ข้อมูลจะไป add ที่ sheet data

ผมต้องการให้เวลาับันทึกรายการ ให้ทำกาำร add row ถัดไปนะครับ

ซึ่งบางทีเราไม่รู้ว่า row ที่เท่าไหร่จะว่างที่จะ add ข้อมูลได้

คือถ้าเจอ row ว่างก็ให้ทำการ add ที่ row นั้นเลยนะครับ

รบกวนหน่อยครับผม
ขอบคุณครับ

Re: insert next row

Posted: Mon Jul 18, 2011 9:49 pm
by snasui
:D ผมปรับ Code มาให้ใหม่เป็นตามด้านล่างโดยได้ปรับ Code เดิมให้เป็น Comment

Code: Select all

Private Sub insertdata()
Dim rs As Range, rt As Range
With Worksheets("บันทึกรายการ")
    Set rs = .Range("D6,D8,D10,D12,D14,D16")
End With
Set rt = Worksheets("data").Range("A" & Rows.Count) _
    .End(xlUp).Offset(1, 0)
rs.Copy
rt.PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End Sub
ดูไฟล์แนบประกอบครับ

Re: insert next row

Posted: Mon Jul 18, 2011 9:54 pm
by janpranot
ขอบคุณมากๆเลยครับ

ประหยัดขั้นตอนการทำงานลงเยอะเลย

ขอบคุณอีกครั้งครับ :D

Re: insert next row

Posted: Mon Jul 18, 2011 11:06 pm
by janpranot
รบกวนอีกทีครับอาจารย์

ใน sub insertdetail

รายการ description ผมจะ add row (เหมือน add sheet data) ลง sheet data_detail ทุก description

1 row ต่อ 1 description ครับ

แต่เกิด error ครับ รบกวนอาจารย์ดูให้หน่อยครับผม

ขอบคุณครับ

Re: insert next row

Posted: Tue Jul 19, 2011 4:38 pm
by snasui
:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Private Sub insertdetail()
'Dim i As Integer
Dim rs As Range, r0 As Range
Dim r1 As Range, r2 As Range
With Worksheets("บันทึกรายการ")
'For i = 1 To .Range("F19")
        Set r0 = .Range("F7:F17")
        Set r1 = r0.Offset(0, 1)
        Set r2 = r0.Offset(0, 4)
'Next
End With
Set rt = Worksheets("data_detail").Range("A" & Rows.Count) _
    .End(xlUp).Offset(1, 0)
'rs.Copy
r0.Copy: rt.PasteSpecial Paste:=xlPasteValues
r1.Copy: rt.Offset(0, 1).PasteSpecial Paste:=xlPasteValues
r2.Copy: rt.Offset(0, 2).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
เนื่องจากมีการ Merge Cells จึงทำ Copy แล้ว Paste ยากขึ้นอีกนิดครับ

Re: insert next row

Posted: Wed Jul 20, 2011 2:41 pm
by janpranot
ขอบคุณมากครับอาจารย์ :)