ไปยังเนื้อหาหลัก

วิธีแทรกจำนวนแถวเฉพาะในช่วงเวลาที่กำหนดใน Excel

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2021-01-08

ในแผ่นงาน Excel คุณสามารถแทรกแถวว่างระหว่างแถวที่มีอยู่ได้โดยใช้ฟังก์ชันแทรก แต่ถ้าคุณมีข้อมูลจำนวนมากและคุณต้องแทรกแถวว่างสองแถวหลังจากทุกๆแถวที่สามคุณจะทำงานนี้ให้เสร็จอย่างรวดเร็วและสะดวกได้อย่างไร?


แทรกจำนวนแถวว่างลงในช่วงข้อมูลตามช่วงเวลาที่กำหนดด้วยรหัส VBA

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

1. กด ALT + F11 ใน Excel และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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

รหัส VBA: แทรกจำนวนแถวที่เจาะจงลงในข้อมูลตามช่วงเวลาที่กำหนด

Sub InsertRowsAtIntervals()
'Updateby Extendoffice
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 As Integer
Dim xNum2 As Integer
Dim WorkRng As Range
Dim xWs As Worksheet
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("How many rows to insert at each interval? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
Set xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
    xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
    Application.Selection.EntireRow.Insert
    xNum1 = xNum1 + xNum2
Next
End Sub

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

4. คลิก OK ปุ่มกล่องข้อความอื่นจะปรากฏขึ้นโปรดป้อนจำนวนช่วงของแถวดูภาพหน้าจอ:

5. ไปที่การคลิก OK ในกล่องพร้อมต์ที่โผล่ออกมาต่อไปนี้โปรดป้อนจำนวนแถวว่างที่คุณต้องการแทรกดูภาพหน้าจอ:

6. จากนั้นคลิก OKและมีการแทรกแถวว่างลงในข้อมูลที่มีอยู่เป็นระยะ ๆ ดูภาพหน้าจอ:


แทรกจำนวนแถวว่างลงในช่วงข้อมูลตามค่าของเซลล์ด้วยรหัส VBA

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

1. กด ALT + F11 ใน Excel และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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

รหัส VBA: แทรกจำนวนแถวว่างตามรายการตัวเลข:

Sub Insertblankrowsbynumbers ()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the spefic number column to use(single column):", "Kutools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Set xRg = xRg(1)
For I = xLastRow To xFstRow Step -1
xNum = Cells(I, xCol)
If IsNumeric(xNum) And xNum > 0 Then
Rows(I + 1).Resize(xNum).Insert
xCount = xCount + xNum
End If
Next
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub

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

4. จากนั้นคลิก OKและคุณจะได้ผลลัพธ์ที่ต้องการตามภาพหน้าจอต่อไปนี้ที่แสดง:


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

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

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

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

1. เลือกช่วงข้อมูลที่คุณต้องการแทรกแถวว่างเป็นช่วง ๆ

2. คลิก Kutools > สิ่งที่ใส่เข้าไป > แทรกแถวและคอลัมน์ว่างดูภาพหน้าจอ:

3. ใน แทรกแถวและคอลัมน์ว่าง ให้เลือก แถวว่าง ตัวเลือกจาก ประเภทการแทรกจากนั้นระบุจำนวนช่วงเวลาและแถวว่างที่คุณต้องการใช้ตามภาพหน้าจอต่อไปนี้:

4. จากนั้นคลิก OK และมีการแทรกแถวว่างลงในช่วงที่เลือกในช่วงเวลาที่กำหนดดังภาพหน้าจอต่อไปนี้:

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


คัดลอกและแทรกแถวหลาย ๆ ครั้งตามตัวเลขที่ระบุด้วยรหัส VBA

สมมติว่าคุณมีช่วงของ tada และตอนนี้คุณต้องการคัดลอกแต่ละแถวและวางหลาย ๆ ครั้งในแถวถัดไปตามรายการตัวเลขตามภาพหน้าจอด้านล่างที่แสดง จะแก้ปัญหานี้ในแผ่นงาน Excel ได้อย่างไร

เพื่อจัดการกับงานนี้ฉันจะแนะนำรหัสที่มีประโยชน์สำหรับคุณโปรดทำตามขั้นตอนต่อไปนี้:

1. กด ALT + F11 ใน Excel และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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

รหัส VBA: คัดลอกและแทรกแถวหลาย ๆ ครั้งตามตัวเลขเฉพาะ:

Sub CopyRows()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum As Integer
Dim xRN As Integer
On Error Resume Next
SelectRange:
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the list of numbers to copy the rows based on: ", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub

If xRg.Columns.Count > 1 Then
MsgBox "Please select single column!"
GoTo SelectRange
End If
Application.ScreenUpdating = False
For xFNum = xRg.Count To 1 Step -1
Set xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Value)
With Rows(xCRg.Row)
.Copy
.Resize(xRN).Insert
End With
Next
Application.ScreenUpdating = True
End Sub

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

4. จากนั้นคลิก OK และจำนวนแถวที่ระบุได้ถูกคัดลอกและวางภายใต้แถวเดิมแต่ละแถวดูภาพหน้าจอ:


คัดลอกและแทรกแถวหลาย ๆ ครั้งตามจำนวนที่ระบุพร้อมคุณสมบัติที่น่าทึ่ง

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

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

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

1. คลิก Kutools > สิ่งที่ใส่เข้าไป > แถว / คอลัมน์ซ้ำกันตามค่าของเซลล์ดูภาพหน้าจอ:

2. ใน คัดลอกและแทรกแถวและคอลัมน์ ใหเลือก คัดลอกและแทรกแถว ตัวเลือกใน ประเภท จากนั้นเลือกช่วงข้อมูลที่คุณต้องการทำซ้ำจากนั้นระบุรายการค่าที่คุณต้องการคัดลอกแถวตามดูภาพหน้าจอ:

4. จากนั้นคลิก Ok or สมัครสมาชิก คุณจะได้รับผลลัพธ์ต่อไปนี้ตามที่คุณต้องการ:

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

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

  • คัดลอกและแทรกแถวหลายครั้งหรือทำซ้ำแถว X ครั้ง
  • ในการทำงานประจำวันของคุณคุณเคยพยายามคัดลอกแถวหรือแต่ละแถวแล้วแทรกหลาย ๆ ครั้งด้านล่างแถวข้อมูลปัจจุบันในแผ่นงานหรือไม่? ตัวอย่างเช่นฉันมีช่วงของเซลล์ตอนนี้ฉันต้องการคัดลอกแต่ละแถวและวาง 3 ครั้งในแถวถัดไปตามภาพหน้าจอต่อไปนี้ คุณจะจัดการกับงานนี้ใน Excel ได้อย่างไร?
  • แทรกแถวว่างเมื่อค่าเปลี่ยนแปลงใน Excel
  • สมมติว่าคุณมีช่วงของข้อมูลและตอนนี้คุณต้องการแทรกแถวว่างระหว่างข้อมูลเมื่อค่าเปลี่ยนแปลงเพื่อให้คุณสามารถแยกค่าเดียวกันตามลำดับในคอลัมน์เดียวตามภาพหน้าจอต่อไปนี้ที่แสดง ในบทความนี้ฉันจะพูดถึงเทคนิคบางอย่างสำหรับคุณในการแก้ปัญหานี้
  • แทรกแถวว่างหลังข้อความเฉพาะใน Excel
  • หากคุณต้องการแทรกแถวว่างหลังข้อความเฉพาะดังภาพหน้าจอต่อไปนี้จะจัดการกับมันอย่างไรอย่างรวดเร็วและง่ายดายโดยไม่ต้องแทรกทีละรายการด้วยตนเอง?
  • คัดลอกแถวจากแผ่นงานหลายแผ่นตามเกณฑ์ลงในแผ่นงานใหม่
  • สมมติว่าคุณมีสมุดงานที่มีแผ่นงานสามแผ่นซึ่งมีการจัดรูปแบบเช่นเดียวกับภาพหน้าจอด้านล่าง ตอนนี้คุณต้องการคัดลอกแถวทั้งหมดจากแผ่นงานเหล่านี้ซึ่งคอลัมน์ C มีข้อความ“ เสร็จสมบูรณ์” ลงในแผ่นงานใหม่ คุณจะแก้ปัญหานี้อย่างรวดเร็วและง่ายดายได้อย่างไรโดยไม่ต้องคัดลอกและวางทีละรายการด้วยตนเอง

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (39)
Rated 5 out of 5 · 2 ratings
This comment was minimized by the moderator on the site
Marvelous vba script!
I had over 5000 rows that i need to add new rows to in between. All other guides told me to make "helper" column it would take me good part of my life to add 1,2 copy paste over and over again just to add new rows.
So, Thanks for this!
Rated 5 out of 5
This comment was minimized by the moderator on the site
hola, hay algun codigo que me permita copiar los datos, pero que en la primera columna que son fechas puedan ser consecutivas.

ejemplo

en vez de que quede asi

10/01/2022 19.258.369-4 Juan Ramirez
10/01/2022 19.258.369-4 Juan Ramirez
10/01/2022 19.258.369-4 Juan Ramirez

quede asi

10/01/2022 19.258.369-4 Juan Ramirez
11/01/2022 19.258.369-4 Juan Ramirez
12/01/2022 19.258.369-4 Juan Ramirez

gracias
This comment was minimized by the moderator on the site
hola, hay algun codigo que me permita copiar los datos, pero que en la primera columna que son fechas pueda ser consecutivo.

ejemplo

en vez de que quede asi

01/10/2022 19.258.369-4 Juan Ramirez
01/10/2022 19.258.369-4 Juan Ramirez
01/10/2022 19.258.369-4 Juan Ramirez

quede asi

01/10/2022 19.258.369-4 Juan Ramirez
02/10/2022 19.258.369-4 Juan Ramirez
03/10/2022 19.258.369-4 Juan Ramirez

gracias
This comment was minimized by the moderator on the site
Name Email Phone Address
0 Name Email Phone Adress
address line 2 Name Phone 0
Name Email Phone Adress
0 Name Email Phone Adress
address line 2 0


How could I edit this to start a new row at every empty value or 0 value without having phone numbers with 0 start a new row?
This comment was minimized by the moderator on the site
Hello, Jarrod

Sorry, I can't get your problem clearly.
Could you explain your problem more detailed? Or you can insert a screenshot or file here.
Thank you!
This comment was minimized by the moderator on the site
Вот выручили так выручили!
Сидел, ломал голову как добавить строки по заданному количеству.
Ваш макрос мне очень помог.
Rated 5 out of 5
This comment was minimized by the moderator on the site
can you tell me how to insert column like this way , what is the code
This comment was minimized by the moderator on the site
Hello friend,
You can use this VBA code:

Sub InsertColumnsAtIntervals()

'Updateby Extendoffice

Dim Rng As Range

Dim xInterval As Integer

Dim xColumns As Integer

Dim xColumnsCount As Integer

Dim xNum1 As Integer

Dim xNum2 As Integer

Dim WorkRng As Range

Dim xWs As Worksheet

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

xColumnsCount = WorkRng.Columns.Count

xInterval = Application.InputBox("Enter column interval. ", xTitleId, 1, Type:=1)

xColumns = Application.InputBox("How many columns to insert at each interval? ", xTitleId, 1, Type:=1)

xNum1 = WorkRng.Column + xInterval

xNum2 = xColumns + xInterval

Set xWs = WorkRng.Parent

For i = 1 To Int(xColumnsCount / xInterval)

    xWs.Range(xWs.Cells(WorkRng.Row, xNum1), xWs.Cells(WorkRng.Row, xNum1 + xColumns - 1)).Select

    Application.Selection.EntireColumn.Insert

    xNum1 = xNum1 + xNum2

Next

End Sub


Sincerely,
Mandy
This comment was minimized by the moderator on the site
Muito obrigado, salvou meu trabalho, eu não tinha ideia de como fazer. Muito obrigado mesmo!
This comment was minimized by the moderator on the site
Hello,
You are welcome. Glad it helps. Any questions, please feel free to contact us. Have a great day.
Sincerely,
Mandy
This comment was minimized by the moderator on the site
This is so Cool!! Thanks a lot
This comment was minimized by the moderator on the site
Can I get the VBA code for deletion of rows based on duplicate values in a selected column keeping all unique values?
This comment was minimized by the moderator on the site
Hello, Roy,If you want to remove rows based on duplicate values, normally, you can use the Remove Duplicates feature in Excel to remove the rows.Of course, if you need a VBA code, please use the below code: (First, you should select the data range that you want to remove, and then run this code, the rows based on the duplicate values in the first column of your selection will be removed at once. )<div data-tag="code">Sub Delete_duplicate_rows()
Dim Rng As Range
Set Rng = Selection
Rng.RemoveDuplicates Columns:=Array(1), Header:=xlYes
End SubPlease try, hope it can help you!
This comment was minimized by the moderator on the site
Thank you author! You deserve the best commendation for these! But please could you help me out with the code to put a constant value into all blank rows I created with your code above? To make myself more clearer, I need to insert a constant value into all blank rows (this solved already with your code above) then I need to insert a constant value into all of the blank rows (this is my problem). Thank you as I expect your kind response.
This comment was minimized by the moderator on the site
Hello, Do you mean to fill blank rows with specific value? If so, mabe the following article cna help you:https://www.extendoffice.com/documents/excel/772-excel-fill-blank-cells-with-0-or-specific-value.html
Please try it.
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations