ป้อนสูตรอัตโนมัติเป็นแถวสุดท้ายด้วย Excel VBA (5 ตัวอย่าง)

  • แบ่งปันสิ่งนี้
Hugh West

หากคุณใช้งาน Microsoft Excel มาระยะหนึ่ง คุณจะทราบดีถึงความสำคัญของการป้อนอัตโนมัติ ในการคัดลอกสูตรข้ามแถวหรือคอลัมน์ เราใช้วิธีนี้ ตอนนี้เราสามารถใช้เมาส์ด้วยตนเองได้ แต่ถ้าคุณมีแถวข้อมูลขนาดใหญ่ การคัดลอกสูตรใด ๆ ไปยังแถวหรือคอลัมน์สุดท้ายจะทำได้ยาก คุณสามารถใช้รหัส VBA เพื่อป้อนสูตรอัตโนมัติไปยังแถวหรือคอลัมน์สุดท้ายได้อย่างง่ายดาย

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีการป้อนสูตรอัตโนมัติไปยังแถวสุดท้ายใน Excel โดยใช้รหัส VBA บทช่วยสอนนี้จะตรงประเด็นด้วยตัวอย่างที่เหมาะสมและภาพประกอบที่เหมาะสม ดังนั้น อยู่กับเรา

ดาวน์โหลดแบบฝึกหัด

ป้อนสูตรอัตโนมัติเป็นแถวสุดท้าย.xlsm

การป้อนอัตโนมัติคืออะไร เอ็กเซล?

ตอนนี้ การป้อนอัตโนมัติเป็นคุณลักษณะในตัวของ Microsoft Excel ที่ช่วยให้ผู้ใช้สามารถเติมค่า รูปแบบ หรือสูตรในแถวหรือคอลัมน์ที่เหลือได้โดยอัตโนมัติ คุณสามารถระบุได้เมื่อคุณเลื่อนเคอร์เซอร์ไปที่มุมล่างขวาของเซลล์ใดๆ เราเรียกมันว่าตัวจัดการป้อนข้อความอัตโนมัติของ Excel

ดูภาพหน้าจอต่อไปนี้:

ที่นี่ คุณจะเห็นตัวเลขสองตัว เราจะเติมแถวที่เหลือโดยใช้การป้อนอัตโนมัติใน Excel

ก่อนอื่น เลือกช่วงของเซลล์ B5:B6 หลังจากนั้น คุณจะเห็นแฮนเดิลป้อนอัตโนมัติที่มุมล่างขวา

ตอนนี้ ลากแฮนเดิลป้อนอัตโนมัตินี้ลง

อย่างที่คุณเห็น Excel เติมโดยอัตโนมัติเซลล์ที่เหลือ นี่คือการใช้งานพื้นฐานของการป้อนอัตโนมัติใน Excel

วิธีใช้การป้อนอัตโนมัติกับ Excel VBA

หากคุณมีแถวหรือคอลัมน์จำนวนมากในช่วงที่กำหนด คุณต้องลากลง ที่จับป้อนอัตโนมัติไปยังแถวหรือคอลัมน์สุดท้าย เป็นกระบวนการที่วุ่นวายมาก โชคดีที่คุณสามารถย่อให้เล็กสุดได้โดยใช้รหัส VBA ใน Excel คุณสามารถใช้โค้ด VBA เพื่อเติมเซลล์ด้วยค่า สูตร หรือรูปแบบโดยอัตโนมัติ

ไวยากรณ์ทั่วไป:

ช่วง .AutoFill ปลายทาง ประเภท

ที่นี่

Range("B5"): เซลล์ที่มีรูปแบบหลักเพื่อเติมชุดรูปแบบที่เหลือ

ปลายทาง: ช่วงของเซลล์ที่คุณต้องการเติมชุดรูปแบบ

พิมพ์เป็น xlAutoFillType: ประเภทการเติมชุดข้อมูล มีประเภทป้อนอัตโนมัติหลายประเภทที่คุณสามารถเลือกได้

อ่านเพิ่มเติม: วิธีใช้การป้อนอัตโนมัติ VBA ใน Excel

4 ประเภทของการป้อนอัตโนมัติใน Excel VBA

ในส่วนนี้ ฉันจะพูดถึงประเภทของการป้อนข้อความอัตโนมัติบางประเภท เราเห็นแล้วว่า เราสามารถเลือกประเภทป้อนข้อความอัตโนมัติใดๆ ก็ได้โดยใช้ xlAutoFillType ฉันกำลังแสดงตัวอย่างให้คุณเห็น

1. xlFillDefault

เราเห็นการป้อนอัตโนมัติประเภทนี้แล้วในตัวอย่างก่อนหน้านี้

ดูภาพหน้าจอ:

พิมพ์รหัส VBA ต่อไปนี้เพื่อเติมเซลล์ที่เหลือโดยอัตโนมัติ:

5163

ตอนนี้ เรียกใช้แมโคร VBA และหลังจากนั้น คุณจะเห็นต่อไปนี้:

เติมเซลล์ที่เหลือโดยอัตโนมัติโดยใช้มาโคร VBA

2. xlFillCopy

หากต้องการคัดลอกค่าเดียวกัน คุณสามารถใช้ประเภท xlFillCopy ในประเภทป้อนอัตโนมัติ

ดูภาพหน้าจอ:

<0

พิมพ์โค้ด VBA ต่อไปนี้เพื่อเติมเซลล์ที่เหลือโดยอัตโนมัติ:

3923

ตอนนี้ เรียกใช้แมโคร VBA และหลังจากนั้น คุณจะเห็นสิ่งต่อไปนี้:

Excel เติมเซลล์ที่เหลือด้วยค่ารูปแบบเดียวกัน

3. xlFillMonths

คุณยังสามารถเติมเดือนโดยใช้ประเภทป้อนอัตโนมัติ xlFillMonths

ดูภาพหน้าจอ:

ที่นี่ เราได้ป้อนสองเดือนมกราคมและกุมภาพันธ์

พิมพ์โค้ด VBA ต่อไปนี้เพื่อป้อนเซลล์ที่เหลือโดยอัตโนมัติ:

1456

ตอนนี้ เรียกใช้แมโคร VBA และหลังจากนั้น คุณจะเห็นสิ่งต่อไปนี้:

Excel เข้าใจรูปแบบโดยอัตโนมัติและเติมเต็มด้วยรูปแบบเหล่านี้

4. xlFillFormats

คุณยังสามารถคัดลอกรูปแบบไปยังเซลล์อื่นโดยใช้การป้อนอัตโนมัติ VBA เพื่อสิ่งนั้น คุณต้องใช้ xlFillFormats ประเภทป้อนอัตโนมัติ

ดูที่ภาพหน้าจอ:

ที่นี่ เรามี เติมเซลล์ทั้งสองเซลล์ด้วยสีบางส่วน

ตอนนี้ พิมพ์รหัส VBA ต่อไปนี้เพื่อเติมเซลล์ที่เหลือโดยอัตโนมัติ:

6222

ตอนนี้ เรียกใช้แมโคร VBA และหลังจากนั้น คุณจะเห็น ต่อไปนี้:

อย่างที่คุณเห็น มาโคร VBA ของเราใช้การป้อนอัตโนมัติเพื่อเติมแถวของคอลัมน์ B อย่างมีประสิทธิภาพ

อ่านเพิ่มเติม: วิธีป้อนเดือนอัตโนมัติใน Excel

5 ตัวอย่างสูตรป้อนอัตโนมัติไปยังแถวสุดท้ายใน Excel VBA

1. VBA เพื่อป้อนสูตรอัตโนมัติไปยังแถวที่ใช้ล่าสุด

ในทำนองเดียวกัน คุณสามารถป้อนสูตรอัตโนมัติโดยใช้ VBA หากคุณได้อ่านหัวข้อก่อนหน้านี้ คุณสามารถดำเนินการนี้ได้อย่างง่ายดาย ปัญหาเกิดขึ้นเมื่อคุณต้องป้อนสูตรอัตโนมัติไปยังแถวสุดท้าย คุณต้องระบุแถวที่ใช้ล่าสุดก่อน หลังจากนั้นโค้ด VBA จะเติมโดยอัตโนมัติ

ดูชุดข้อมูลต่อไปนี้:

ที่นี่ เรามีชุดข้อมูลการขายของพนักงานขายบางคน . เป้าหมายของเราคือการเพิ่มยอดขายของเดือนมกราคมและกุมภาพันธ์ลงในคอลัมน์ผลรวม หลังจากนั้น เราจะใช้วิธีการป้อนข้อความอัตโนมัติโดยใช้ VBA ไปยังแถวที่ใช้ล่าสุดใน Excel

หากต้องการดำเนินการ ให้พิมพ์โค้ดต่อไปนี้:

1870

last_row = Cells(Rows.Count, 2).End(xlUp).Row: ส่งคืนแถวที่ใช้ล่าสุดจากคอลัมน์ B คุณสามารถเลือกคอลัมน์ใดก็ได้จากชุดข้อมูลของคุณ

ช่วง(“E5”).สูตร = “=SUM(C5:D5)”: เราเพิ่มยอดขายของ เซลล์ C5 และ D5

Range(“E5”).AutoFill Destination:=Range(“E5:E” & last_row): หลังจากได้ผลลัพธ์แล้ว เราใช้การป้อนอัตโนมัติ มันเริ่มเติมอัตโนมัติจาก เซลล์ E5 ไปยังแถวที่ใช้ล่าสุดที่เราได้รับก่อนหน้านี้

ตอนนี้ เรียกใช้แมโคร VBA หลังจากนั้น คุณจะเห็นผลลัพธ์ต่อไปนี้:

เป็นคุณจะเห็นว่าโค้ด VBA ของเราเพิ่มผลลัพธ์แรกและป้อนสูตรลงในแถวสุดท้ายใน Excel โดยอัตโนมัติ

อ่านเพิ่มเติม: วิธีเติมข้อมูลลงในแถวสุดท้าย Excel

2. VBA ป้อนอัตโนมัติจาก ActiveCell ไปยังแถวสุดท้าย

ตอนนี้ หากคุณไม่ต้องการใช้ช่วงเฉพาะในวิธีการป้อนอัตโนมัติ คุณสามารถใช้ค่าของเซลล์ที่ใช้งานอยู่ , สูตร หรือรูปแบบ เมื่อคุณคลิกที่เซลล์และต้องการเติมแถวที่เหลือโดยอัตโนมัติด้วยสูตรของเซลล์ที่ใช้งานอยู่ ให้ใช้วิธีนี้

คล้ายกับตัวอย่างก่อนหน้านี้ เรากำลังใช้ชุดข้อมูลก่อนหน้า:

ตอนนี้ เราจะเพิ่มยอดขายของเดือนมกราคมและกุมภาพันธ์ และป้อนสูตรอัตโนมัติในแถวสุดท้ายโดยใช้ Excel VBA

ตอนนี้ พิมพ์โค้ดต่อไปนี้:

4311

last_row = Cells(Rows.Count, 2).End(xlUp).Row: มันคืนค่าที่ใช้ล่าสุด แถวจากคอลัมน์ B คุณสามารถเลือกคอลัมน์ใดก็ได้จากชุดข้อมูลของคุณ

ActiveCell.Formula = “=SUM(C5:D5)”: เราเพิ่มยอดขายของ เซลล์ C5 และ D5 ในเซลล์ที่คุณเลือก

ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & “:E” & last_row): หลังจากได้ผลลัพธ์แล้ว เราใช้การป้อนอัตโนมัติ มันเริ่มเติมอัตโนมัติจากเซลล์ที่ใช้งานไปยังแถวที่ใช้ล่าสุดที่เราได้รับก่อนหน้านี้

ตอนนี้ เลือก เซลล์ E5

หลังจากนั้น ให้เรียกใช้แมโคร VBA เพื่อเพิ่มสูตรและป้อนอัตโนมัติในแถวสุดท้าย

อย่างที่คุณเห็น เราใช้แมโคร VBA เพื่อป้อนสูตรอัตโนมัติไปยังแถวสุดท้ายได้สำเร็จ

การอ่านที่คล้ายกัน

  • วิธีทำซ้ำแถวตามจำนวนครั้งที่ระบุใน Excel (4 วิธี)
  • นับแถวอัตโนมัติใน Excel (8 วิธี)
  • วิธีเติมคอลัมน์ใน Excel ด้วยค่าเดียวกัน (9 เคล็ดลับ )
  • ใช้ทางลัดป้อนอัตโนมัติใน Excel (7 วิธี)

3. ป้อนอัตโนมัติไปยังแถวสุดท้ายโดยใช้ Dynamic Range กับ Excel VBA

ก่อนหน้านี้เราได้แสดงให้คุณเห็นแมโคร VBA เพื่อป้อนอัตโนมัติในแถวสุดท้ายใน Excel ตอนนี้ ในตัวอย่างเหล่านั้น เราได้ใช้ช่วงไดนามิกแล้ว

หากต้องการทำความเข้าใจกับช่วงคงที่ โปรดดูรหัสต่อไปนี้:

9753

โดยพื้นฐานแล้ว เราบอกให้ Excel ป้อนสูตรใน เซลล์ E5 และป้อนอัตโนมัติจาก เซลล์ E5 ถึง เซลล์ E11 ที่นี่เราระบุช่วง แล้วถ้าเพิ่มแถวล่ะ? ในกรณีนั้น VBA ของเราจะไม่ป้อนแถวพิเศษเหล่านั้นโดยอัตโนมัติเพราะเราได้บอกให้ป้อนช่วงใดช่วงหนึ่งโดยอัตโนมัติ

เพื่อแก้ปัญหานี้ ฉันได้คิดวิธีแก้ปัญหาที่สามารถใช้ช่วงไดนามิกได้:

3705

อย่างที่คุณเห็น ก่อนอื่นเราจะค้นหาแถวสุดท้ายด้วยโค้ดบรรทัดนี้:

3068

หลังจากนั้น เราจะป้อนอัตโนมัติไปยังแถวสุดท้ายโดยใช้ช่วงไดนามิก:

4015

ไม่ ไม่ว่าคุณจะเพิ่มแถวในชุดข้อมูลของคุณกี่แถว โค้ด VBA นี้จะระบุแถวได้สำเร็จ และมันจะป้อนสูตรให้โดยอัตโนมัติ

โดยพื้นฐานแล้วช่วงไดนามิกหมายความว่าคุณไม่จำเป็นต้องป้อนช่วงด้วยตนเอง Excel จะอัปเดตเป็นครั้งคราว

อ่านเพิ่มเติม: Excel VBA: วิธีการป้อนอัตโนมัติของคลาสช่วงล้มเหลว

4. ป้อนอัตโนมัติเป็นครั้งสุดท้าย คอลัมน์ใน Excel โดยใช้ VBA

หากคุณได้อ่านส่วนก่อนหน้านี้เพื่อป้อนอัตโนมัติในแถวสุดท้าย คุณก็สามารถป้อนอัตโนมัติในคอลัมน์สุดท้ายได้อย่างง่ายดาย คุณต้องหาหมายเลขคอลัมน์สุดท้ายและป้อนอัตโนมัติด้วย Excel VBA

ดูที่ชุดข้อมูลต่อไปนี้:

ที่นี่ เรามี ชุดข้อมูลที่แสดงถึงงบประมาณ 3 เดือนของบุคคล ตอนนี้ เราจะเพิ่มค่าใช้จ่ายของทุกเดือนและป้อนสูตรอัตโนมัติในคอลัมน์สุดท้ายโดยใช้ Excel VBA

ตอนนี้ พิมพ์รหัสต่อไปนี้:

7904

last_column = Cells(6, Columns.Count).End(xlToLeft).Column: ส่งคืนคอลัมน์ที่ใช้ล่าสุดจากแถวที่ 6 คุณสามารถเลือกแถวใดก็ได้เพื่อเริ่มต้นจากชุดข้อมูลของคุณ

Range(“D9”).Formula = “=SUM(D6:D8)”: เราบวกค่าใช้จ่าย สามเดือน (ม.ค. ก.พ. มี.ค.)

Range(“D9”).AutoFill Destination:=Range(“D9”, Cells(9, last_column)): หลังจากได้ผลลัพธ์แล้ว เราใช้การป้อนอัตโนมัติ แถวหลักของเราคือแถวหมายเลข 9 ข้อมูลทั้งหมดของเราจะอยู่ในแถวนี้ มันเริ่มเติมอัตโนมัติจากคอลัมน์ D ไปยังคอลัมน์ที่ใช้ล่าสุดที่เราได้รับก่อนหน้านี้จาก last_column

หลังจากเรียกใช้มาโคร คุณจะเห็นผลลัพธ์ต่อไปนี้ :

อย่างที่คุณเห็น เราใช้ VBA เพื่อป้อนข้อความอัตโนมัติได้สำเร็จสูตรสำหรับคอลัมน์สุดท้ายใน Excel

อ่านเพิ่มเติม: วิธีป้อนคอลัมน์ใน Excel โดยอัตโนมัติ

5. ป้อนหมายเลขลำดับอัตโนมัติไปยังแถวสุดท้าย ใน Excel โดยใช้ VBA

คุณยังสามารถป้อนหมายเลขลำดับอัตโนมัติโดยใช้การป้อนอัตโนมัติใน VBA ที่นี่ คุณต้องใช้ xlFillSeries ในประเภทป้อนอัตโนมัติ Excel จะเข้าใจรูปแบบและเติมลงไป

ดูภาพหน้าจอต่อไปนี้:

ที่นี่ เรามีชื่อบางส่วน และเราต้องการให้ ID แก่พวกเขาตามลำดับ ในการทำเช่นนี้ เราจะใช้การป้อนอัตโนมัติของ VBA

ป้อนหมายเลขลำดับอัตโนมัติด้วยช่วงคงที่:

6067

หลังจากเรียกใช้โค้ด คุณจะเห็นผลลัพธ์:<1

หากคุณต้องการใช้ช่วงไดนามิก ให้ใช้โค้ดต่อไปนี้:

6850

last_row = Cells(Rows. Count, 2).End(xlUp).Row: ส่งคืนแถวที่ใช้ล่าสุดจากคอลัมน์ B.

Range(“C5”).AutoFill Destination:=Range(“C5 :C” & last_row), Type:=xlFillSeries: จะใช้ ID ของ เซลล์ C5 และป้อนอัตโนมัติไปยังแถวที่ใช้ล่าสุดในคอลัมน์ C โดยใช้ xlFillSeries ,

ในทั้งสองกรณี คุณจะได้รับผลลัพธ์เดียวกัน:

อย่างที่คุณเห็น เราใช้โค้ด VBA เพื่อ ป้อนเลขลำดับอัตโนมัติใน Excel

อ่านเพิ่มเติม: สูตร Excel เพื่อเติมเลขลำดับโดยข้ามแถวที่ซ่อนอยู่

💬 สิ่งที่ต้องจำ

คุณสามารถ หยุดการป้อนข้อความอัตโนมัติ ได้ในวิธีต่างๆ หากคุณไม่ต้องการ .

คุณไม่สามารถป้อนอัตโนมัติหลายแถวและหลายคอลัมน์พร้อมกันได้ ทำทีละรายการ

สรุป

โดยสรุป ฉันหวังว่าบทช่วยสอนนี้จะให้ความรู้ที่เป็นประโยชน์แก่คุณในการป้อนสูตรอัตโนมัติไปยังแถวสุดท้ายโดยใช้รหัส VBA เราขอแนะนำให้คุณเรียนรู้และนำคำแนะนำเหล่านี้ไปใช้กับชุดข้อมูลของคุณ ดาวน์โหลดแบบฝึกหัดและลองทำด้วยตัวเอง นอกจากนี้ อย่าลังเลที่จะแสดงความคิดเห็นในส่วนความคิดเห็น ความคิดเห็นอันมีค่าของคุณทำให้เรามีแรงจูงใจในการสร้างบทช่วยสอนเช่นนี้

อย่าลืมตรวจสอบเว็บไซต์ของเรา Exceldemy.com เพื่อดูปัญหาและแนวทางแก้ไขต่างๆ ที่เกี่ยวข้องกับ Excel

เรียนรู้วิธีการใหม่ ๆ และเติบโตต่อไป!

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง