Page 1 of 1

การใส่สูตร ด้วย VBA

Posted: Sat Mar 15, 2014 11:04 am
by san02551
เรียนอาจารย์ที่เคารพ
ตอนนี้ ผมทำเอกสารแบบ ปพ.นักเรียนอยู่ มีปัญหาตรงที่
1.ครูชอบลบสูตร ที่มีอยู่ในเซลล์
2.ครูชอบ คัดลอก และวางทับสูตร
มี ผลทำให้ไม่ได้ผลตามที่ต้องการ
ผมเลยคิดว่า มีวิธีการที่จะนำสูตรไปเขียนเป็นโค้ด ได้ไหมครับ
ตัวอย่าง ตาม ไฟล์แนบครับ

Re: การใส่สูตร ด้วย VBA

Posted: Sat Mar 15, 2014 11:07 am
by snasui
san02551 wrote:เรียนอาจารย์ที่เคารพ
:roll: :| โพสต์ได้เลยไม่ต้องเรียนท่านใดครับ เพราะจะทำให้สมาชิกท่านอื่นที่ทราบไม่สะดวกใจที่จะตอบ ช่วยแก้ไขข้อความด้วยครับ

Re: การใส่สูตร ด้วย VBA

Posted: Sat Mar 15, 2014 12:17 pm
by san02551
จากไฟล์ที่แนบมาด้วย ผมต้องการ บวก เซลล์ b3+c3 แสดงผลบวก ที่ d 3
โดยการเขียนโค้ด vba

Re: การใส่สูตร ด้วย VBA

Posted: Sat Mar 15, 2014 12:26 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Sub Macro3()
' Macro3 áÁâ¤Ã
    For Each r In Range("d3:d11")
        r.Value = r.Offset(0, -2) + r.Offset(0, -1)
    Next r
End Sub

Re: การใส่สูตร ด้วย VBA

Posted: Sat Mar 15, 2014 1:30 pm
by san02551
ทำความเข้าใจ โค้ด
ถ้าต้องการ ลบ เปลี่ยนเป็น r.Value = r.Offset(0,2)-r.Offset(0,1) ใช่ไหมครับ
Next r
---------------------------------------------------------------
ถ้าต้องการรวม ข้อมูล sum r.Value = r.Offset(a11:c11)
Next r
------------------------------------------------------------
ถ้าต้องตัดเกรด คำสั่ง IF ครับ
=IF(W4<49,"0",IF(W4<=54,"1",IF(W4<=59,"1.5",IF(W4<=64,"2",IF(W4<=69,"2.5",IF(W4<=74,"3",IF(W4<=79,"3.5",IF(W4>=80,"4"))))))))

Re: การใส่สูตร ด้วย VBA

Posted: Sat Mar 15, 2014 2:14 pm
by snasui
:lol:
snasui wrote:ทำความเข้าใจ โค้ด
ถ้าต้องการ ลบ เปลี่ยนเป็น r.Value = r.Offset(0,2)-r.Offset(0,1) ใช่ไหมครับ
Next r
การลบกันก็เหมือนการบวกแต่เปลี่ยนเครื่องหมายบวกเป็นลบถูกแล้ว สำหรับ Code นี้ต้องคำนึงว่าใช้ค่าใดเป็นตัวตั้งด้วยครับ
snasui wrote:ถ้าต้องการรวม ข้อมูล sum r.Value = r.Offset(a11:c11)
Next r
ไม่ใช่ครับ
snasui wrote:ถ้าต้องตัดเกรด คำสั่ง IF ครับ
=IF(W4<49,"0",IF(W4<=54,"1",IF(W4<=59,"1.5",IF(W4<=64,"2",IF(W4<=69,"2.5",IF(W4<=74,"3",IF(W4<=79,"3.5",IF(W4>=80,"4"))))))))
ไม่ใช่ครับ การให้แสดงผลลัพธ์เป็นตัวเลข จะต้องไม่ครอบผลลัพธ์ด้วยเครื่องหมายฟันหนู

ควรจะสรุปในประเด็นที่ถาม ไม่ควรนำเรื่องที่ไม่เกี่ยวข้องมาสรุป ผู้ตอบจะได้เห็นว่าต้นเรื่องมีมาอย่างไร จะได้ช่วยสรุปให้ได้