Page 1 of 1
แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Mon Nov 21, 2016 4:22 pm
by trirongcop

ติดปํญหาเขียน Code vb ใน excel เมื่อเวลาทำการแทรกเซลล์ Row และ Column แล้ว ทำให้ Code vb เคลื่อนครับ
มีวิธีแก้ยังไงครับ
ตัวอย่างครับง
Range("K70") = Range("E70") + Range("H70")
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Mon Nov 21, 2016 6:49 pm
by snasui

แนบไฟล์พร้อม Code ตัวอย่าง จะได้เข้าถึงปัญหาโดยไวครับ
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Tue Nov 22, 2016 10:11 am
by trirongcop

ไฟล์แนบครับ
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Tue Nov 22, 2016 7:29 pm
by snasui

จากตัวอย่างที่ยกมาใช้ Range Name เข้ามาช่วยได้ครับ
การสร้าง Range Name คลิกขวาที่ F4 > Define Name > ตั้งชื่อตามต้องการ
ยกตัวอย่างตั้งชื่อเซลล์ F4, G4, H4 เป็น Name0, Name1, Name2 ตามลำดับ
เมื่อสร้าง Range Name แล้วให้ปรับ Code เป็น
Code: Select all
Range("Name0") = Range("Name1") + Range("Name2")
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Tue Nov 22, 2016 7:40 pm
by trirongcop
อาจารย์ครับ ถ้าผมอ้างอิงทั้ง Column
ตัวอย่างครับ
Range("K70") = Range("E:E) + Range("H:H")
ต้องปรับยังไงครับ
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Tue Nov 22, 2016 7:46 pm
by snasui

การรวมใช้
Range("K70").Value = Application.Sum(Range("E:E)) + Application.Sum(Range("H:H")) ได้ครับ
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Tue Nov 22, 2016 7:56 pm
by trirongcop
อาจารย์ครับ แต่ถ้าเวลาผมแทรกเชลล์
มันก็เลื่อนเหมือนเดิมครับ
เวลาผมแทรกเชลล์ Column D มันก็จะเลื่อนการคำนวณครับ
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Tue Nov 22, 2016 8:13 pm
by snasui

ควรจะถามให้ครบถ้วน แจ้งสิ่งปัญหาที่เป็นและสิ่งที่ต้องการมาทั้งหมด จะได้ทราบว่าปัญหาคืออะไรต้องการคำตอบเป็นอย่างไร
ตัวอย่างควรแสดงให้เห็นถึงงานที่ใช้จริงครับ
การจะทำให้ Dynamic ได้ก็ต้องใช้ตัวแปรเข้าไปจัดการ หาให้ได้ว่าตอนนี้กำลังทำงานอยู่กับช่วงข้อมูลใด เมื่อหาได้แล้วก็สามารถจัดการกับมันได้ทั้งนั้นครับ
หรือสามารถใช้
SpecialCells หาค่าที่ต้องการ เช่นหาตัวเลขในคอลัมน์ E ไมว่าจะมีค่าอยู่ตรงไหนมันก็หาได้ทั้งนั้นตามด้านล่างครับ
Code: Select all
Sub test0()
Range("a1").Value = Application.Sum(Sheets(1).Range("e:e").SpecialCells(xlCellTypeConstants,1))
End Sub
Re: แทรก Cells แล้ว Code vb เคลื่อนครับ
Posted: Tue Nov 22, 2016 8:21 pm
by trirongcop
ขอบคุณอาจารย์มากครับ