Note: The other languages of the website are Google-translated. Back to English
English English

วิธีแทรกตัวแบ่งหน้าเมื่อค่าเปลี่ยนแปลงใน Excel

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

แทรกตัวแบ่งหน้าเมื่อมีการเปลี่ยนแปลงค่าด้วยรหัส VBA

แทรกตัวแบ่งหน้าเมื่อค่าเปลี่ยนแปลงด้วยคุณสมบัติที่มีประสิทธิภาพ


แทรกตัวแบ่งหน้าเมื่อมีการเปลี่ยนแปลงค่าด้วยรหัส VBA

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

1. ค้างไว้ ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: แทรกหน้าแตกเมื่อค่าเปลี่ยนแปลง:

Sub insertpagebreaks()
'updateby Extendoffice
    Dim I As Long, J As Long
    J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
    For I = J To 2 Step -1
        If Range("A" & I).Value <> Range("A" & I - 1).Value Then
            ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
        End If
    Next I
End Sub

3. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้ตัวแบ่งหน้าทั้งหมดถูกแทรกลงในแผ่นงานเมื่อข้อมูลเปลี่ยนแปลงในคอลัมน์ A ดูภาพหน้าจอ:

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

แทรกตัวแบ่งหน้าเมื่อค่าเปลี่ยนแปลงด้วยคุณสมบัติที่มีประสิทธิภาพ

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

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

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดทำตามนี้:

1. คลิก Kutools > รูปแบบ > แยกแยะความแตกต่างดูภาพหน้าจอ:

2. ในการโผล่ออกมา แยกแยะความแตกต่างตามคอลัมน์หลัก ไดอะล็อกบ็อกซ์ให้ดำเนินการดังต่อไปนี้:

  • เลือกช่วงข้อมูลและคอลัมน์หลักที่คุณต้องการใช้
  • เลือก ตัวแบ่งหน้า จาก Options กล่อง.

3. จากนั้นคลิก Ok ปุ่มตัวแบ่งหน้าถูกแทรกลงในช่วงตามการเปลี่ยนแปลงค่าดูภาพหน้าจอ:

ดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!


บทความที่เกี่ยวข้องเพิ่มเติม:

  • เน้นแถวเมื่อค่าของเซลล์เปลี่ยนแปลงใน Excel
  • หากมีรายการค่าซ้ำในแผ่นงานของคุณและคุณต้องเน้นแถวตามคอลัมน์ A ซึ่งค่าของเซลล์จะเปลี่ยนไปตามภาพหน้าจอต่อไปนี้ ในความเป็นจริงคุณสามารถทำงานนี้ให้เสร็จได้อย่างรวดเร็วและง่ายดายโดยใช้คุณสมบัติการจัดรูปแบบตามเงื่อนไข
  • ตัวเลขที่เพิ่มขึ้นเมื่อค่าเปลี่ยนแปลงในคอลัมน์อื่น
  • สมมติว่าคุณมีรายการค่าในคอลัมน์ A และตอนนี้คุณต้องการเพิ่มจำนวนทีละ 1 ในคอลัมน์ B เมื่อค่าในคอลัมน์ A เปลี่ยนแปลงซึ่งหมายถึงตัวเลขในคอลัมน์ B เพิ่มขึ้นจนกระทั่งค่าในคอลัมน์ A เปลี่ยนไปจากนั้น การเพิ่มจำนวนเริ่มจาก 1 อีกครั้งตามภาพหน้าจอด้านซ้ายที่แสดง ใน Excel คุณสามารถแก้ปัญหานี้ได้ด้วยวิธีการต่อไปนี้
  • รวมเซลล์เมื่อค่าเปลี่ยนแปลงในคอลัมน์อื่น
  • เมื่อคุณทำงานกับเวิร์กชีต Excel บางครั้งคุณอาจต้องรวมเซลล์ตามกลุ่มข้อมูลในคอลัมน์อื่น ตัวอย่างเช่นที่นี่ฉันต้องการรวมคำสั่งซื้อในคอลัมน์ B เมื่อข้อมูลเปลี่ยนแปลงในคอลัมน์ A เพื่อให้ได้ผลลัพธ์ต่อไปนี้ คุณจะแก้ปัญหานี้ใน Excel ได้อย่างไร
  • แทรกแถวว่างเมื่อค่าเปลี่ยนแปลงใน Excel
  • สมมติว่าคุณมีช่วงของข้อมูลและตอนนี้คุณต้องการแทรกแถวว่างระหว่างข้อมูลเมื่อค่าเปลี่ยนแปลงเพื่อให้คุณสามารถแยกค่าเดียวกันตามลำดับในคอลัมน์เดียวตามภาพหน้าจอต่อไปนี้ที่แสดง ในบทความนี้ฉันจะพูดถึงเทคนิคบางอย่างสำหรับคุณในการแก้ปัญหานี้
  • เรียกใช้แมโครเมื่อค่าของเซลล์เปลี่ยนแปลงใน Excel
  • โดยปกติใน Excel เราสามารถกดปุ่ม F5 หรือปุ่ม Run เพื่อรันโค้ด VBA แต่คุณเคยพยายามเรียกใช้รหัสแมโครเฉพาะเมื่อค่าของเซลล์เปลี่ยนแปลงหรือไม่? บทความนี้ฉันจะแนะนำเคล็ดลับง่ายๆในการจัดการกับงานนี้ใน Excel

เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (8)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีขอบคุณ! ความคิดของ VBA ทำให้ฉันเหงื่อออก ฉันมีปัญหาหนึ่งกับผลลัพธ์ของรหัสนี้ คอลัมน์แรกเป็นส่วนหัวของคอลัมน์ รหัสถือว่าสิ่งนี้เป็นการเปลี่ยนแปลง หน้าแรกของฉันแสดงเฉพาะส่วนหัวของคอลัมน์ แต่เขาสามารถติดตามเพจได้ FYI: นี่เป็นรายงานรายเดือนและจำนวนแถวสำหรับแต่ละเกณฑ์จะเปลี่ยนเป็นรายเดือน ความคิดใด ๆ? ขอบคุณล่วงหน้า.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เสียใจ. แก้ไข: ROW แรกเป็นส่วนหัวของคอลัมน์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นั่นมันสุดยอดจริงๆ! ฉันทำตามตัวอย่าง VB ของคุณและได้ผล! ฉันยังเป็นเจ้าของ KUTools ดังนั้นฉันจะเล่นด้วย

ประทับใจและขอบคุณมาก!

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

ตัวแบ่งย่อยย่อย ()

'updateby Extendoffice

หรี่ฉันตราบ J ตราบ

J = ActiveSheet.Cells(Rows.Count, "A")).End(xlUp).Row

สำหรับฉัน = J ถึง 21 ขั้นตอน -1

ถ้า Range("A" & I).Value <> Range("A" & I - 1).Value แล้ว

ActiveSheet.HPageBreaks.Add ก่อน:=Range("A" & I)

End If

ถัดไปฉัน

ย่อยสิ้นสุด

โปรดลอง ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Tôi không muốn ngắt trang tại những hàng bị น. Thì phai làm sao?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณ Lê Tuấn
เพื่อแก้ปัญหาของคุณ โปรดใช้รหัส VBA ด้านล่าง:
Sub insertpagebreaks()
'updateby Extendoffice
Dim I As Long, J As Long
Dim xRg As Range
On Error Resume Next
J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
Set xRg = Range("A1:A" & J).SpecialCells(xlCellTypeVisible)

For I = J To 2 Step -1
If Range("A" & I).Value <> Range("A" & I - 1).Value Then
If Not Intersect(xRg, Range("A" & I)) Is Nothing Then
ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
End If
End If
Next I
End Sub


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

Merci สำหรับรหัส qui fonctionne très bien, seulement je souhaite ajouter un saut de page après et non avant chaque changement de valeur... que faut-il changer dans le code ?

ขอบคุณมาก!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ