Page 1 of 1
รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 10:23 am
by nukrob
คือผมทำสูตรไว้ในในเซลล์ J12 แล้วพอแทรกแถวในเรคคอร์ดต่อมา ต้องมาก๊อปสูตรจากแถวที่อยู่ด้านบนมาทุกครั้งครับ ทำยังไงจึงจะให้สูตรที่เราสร้างไว้ข้างบนตามมาเลยโดยไม่ต้องก๊อปครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 1:23 pm
by snasui

ปกติหากคีย์ในตารางแบบฐานข้อมูลเราสามารถใช้ Table มาช่วยในการทำงานดังกล่าครับ แต่จากไฟล์ที่ทำมานั้นมีลักษณะเป็นรายงาน ขาดความสม่ำเสมอในการคีย์ข้อมูล หากจะทำให้สูตร Copy มาแบบอัตโนมัติคงต้องพึ่ง VBA ครับ กรณีต้องการใช้ VBA จำเป็นต้องเขียนมาก่อนทุกครั้ง ติดตรงไหนก็สามารถถามมาได้เรื่อย ๆ ครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 3:33 pm
by nukrob
ผมยังขาดความรู้เรื่อง VBA ขอบคุณที่ให้คำแนะนำครับอาจารย์
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 4:14 pm
by nukrob
หากจะปรับสูตรตามที่อาจารย์กล่าวไว้ในหน้านี้ไปใช้จะสามารถทำได้ไหมครับ...
http://snasui.blogspot.com/2008/11/blog-post_3035.html
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 4:29 pm
by snasui

หากยึดตาม Blog ที่อ้างมาผมคิดว่าคุณ nukrob คงจะอธิบายสิ่งที่ต้องการไม่ถูกต้องในความเห็นก่อนหน้า เนื่องจากตาม Link ที่ยกมานั้นเป็น
การทำให้สูตรในบรรทัดที่เป็นยอดรวมมีการรวมบรรทัดที่เพิ่มหรือลดลงเสมอไม่ใช่ให้ Copy สูตรในคอลัมน์ J ลงมาให้อัตโนมัติ ช่วยสรุปให้อีกรอบว่าเป็นความต้องการใดกันแน่ครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 5:05 pm
by nukrob
ตรง J152 คือช่องที่เป็นผลรวมของ (C152คูณกับเซลล์ที่สร้างไปข้างนอกคือO7)+(D152คูณP7)+(E152คูณQ7)+(F152คูณQ7)+(G152คูณQ7)+(H152คูณR7)+(I152คูณR7)
แต่ถ้าเราแทรกแถวต่อจาก152หรือแถวก่อนหน้า152 สูตรที่เราทำไว้ใน เซลล์ J152 มันต้องก๊อปปี้มาวางครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 5:15 pm
by snasui

ถ้าตามความต้องการนี้ผมตอบไปแล้วตามความเห็นด้านล่างครับ
snasui wrote: 
ปกติหากคีย์ในตารางแบบฐานข้อมูลเราสามารถใช้ Table มาช่วยในการทำงานดังกล่าครับ แต่จากไฟล์ที่ทำมานั้นมีลักษณะเป็นรายงาน ขาดความสม่ำเสมอในการคีย์ข้อมูล หากจะทำให้สูตร Copy มาแบบอัตโนมัติคงต้องพึ่ง VBA ครับ กรณีต้องการใช้ VBA จำเป็นต้องเขียนมาก่อนทุกครั้ง ติดตรงไหนก็สามารถถามมาได้เรื่อย ๆ ครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Tue Dec 20, 2011 10:01 pm
by odd
ก่อนอื่นขอคุณคนควน ที่สร้างตัวอย่าง EXCEL นำไปดัดแปลงแก้ไขได้ประโยชน์และความรู้อย่างมาก
เรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
ใช้การบันทึก Macro
ให้ทดลองตาม Code นี้
วางที่ Sheet Master
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Call Macro1
Application.EnableEvents = True
End Sub
วางที่ Modules ปกติ
Sub Macro1()
Range("J7").Select
ActiveCell.FormulaR1C1 = _
"=SUM((RC[-7]*R7C15)+(RC[-6]*R7C16)+(RC[-5]*R7C17)+(RC[-4]*R7C17)+(RC[-3]*R7C17)+(RC[-2]*R7C18)+(RC[-1]*R7C18))"
Range("J7").Select
Selection.AutoFill Destination:=Range("J7:J152"), Type:=xlFillDefault
Range("J7:J152").Select
Range("J7").Select
End Sub
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Wed Dec 21, 2011 8:19 am
by nukrob
odd wrote:ก่อนอื่นขอคุณคนควน ที่สร้างตัวอย่าง EXCEL นำไปดัดแปลงแก้ไขได้ประโยชน์และความรู้อย่างมาก
เรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
ใช้การบันทึก Macro
ให้ทดลองตาม Code นี้
วางที่ Sheet Master
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Call Macro1
Application.EnableEvents = True
End Sub
วางที่ Modules ปกติ
Sub Macro1()
Range("J7").Select
ActiveCell.FormulaR1C1 = _
"=SUM((RC[-7]*R7C15)+(RC[-6]*R7C16)+(RC[-5]*R7C17)+(RC[-4]*R7C17)+(RC[-3]*R7C17)+(RC[-2]*R7C18)+(RC[-1]*R7C18))"
Range("J7").Select
Selection.AutoFill Destination:=Range("J7:J152"), Type:=xlFillDefault
Range("J7:J152").Select
Range("J7").Select
End Sub
ในส่วน Sheet Master กับในส่วน Modules ปกติต้องเข้าไปวางโค๊ดที่ไหนครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Wed Dec 21, 2011 5:35 pm
by odd
เปิด Excel กด Alt กับ F11 ครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Wed Dec 21, 2011 6:00 pm
by snasui
odd wrote:เปิด Excel กด Alt กับ F11 ครับ

ช่วยแนะนำลำดับเป็นขั้นตอนก็จะดีครับ กดแล้วต้องนำ Code ไปวางที่ไหน อย่างไร ปกติก่อนที่ผมจะตอบด้วย VBA ผู้ถามจะต้องเขียนมาเอง คือทราบก่อนว่า Code อยู่ที่ไหน ติดตรงไหนจึงค่อยมาถามกันต่อ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Wed Dec 21, 2011 6:41 pm
by snasui

สำหรับ Module ปกติและชีทเป้าหมายที่จะวาง Code ดูได้จากภาพด้านล่าง ซึ่งจะต้อง Double click เข้าไปก่อน เพื่อจะเปิดหน้าต่างสำหรับการเขียน Code ครับ
หากยังไม่มี Module ปกติให้เข้าเมนู Insert > Module ในหน้าต่าง VBE ครับ
Re: รบกวนถามเรื่องแทรกแถวใหม่แล้วสูตรไม่ตามมาครับ
Posted: Wed Dec 21, 2011 7:12 pm
by odd
ขอแก้ไขโพสต์: 3 เป็น "ก่อนอื่นขอบคุณ คุณคนควน ที่สร้างตัวอย่าง EXCEL นำไปดัดแปลงแก้ไขได้ประโยชน์และความรู้อย่างมาก" พิมพ์ตกไปครับ
และขอบคุณสำหรับคำแน่นำครับ