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

ลองส่งไฟล์ที่เขียน VBA ไว้แล้วมาให้ด้วยครับ จะได้เขียนต่อหรือปรับปรุงจากนั้นครับ
Re: insert next row
Posted: Mon Jul 18, 2011 8:32 pm
by janpranot
ส่งไปให้แล้วครับผม ที่ hotmail รบกวนหน่อยครับ
ขอบคุณครับ
Re: insert next row
Posted: Mon Jul 18, 2011 8:55 pm
by snasui

ที่ 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

ผมปรับ 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
ขอบคุณมากๆเลยครับ
ประหยัดขั้นตอนการทำงานลงเยอะเลย
ขอบคุณอีกครั้งครับ

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

ลองปรับ 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
ขอบคุณมากครับอาจารย์
