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

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

ในแผ่นงาน 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 สำหรับ 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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (37)
ได้รับคะแนน 5 จาก 5 · การจัดอันดับ 1
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันกำลังใช้รหัสของคุณ (ด้านล่าง) คุณช่วยบอกฉันหน่อยได้ไหมว่าจะเติมแถวเหล่านั้นด้วยข้อความที่กำหนดเองได้อย่างไร ฉันใช้รหัสของคุณเพื่อป้อนสามแถวซึ่งทำงานได้อย่างสมบูรณ์ แต่ตอนนี้ ฉันต้องป้อนข้อความ Row1 = Date Row2.= Location Row3 = หมายเลขโทรศัพท์ ขอบคุณล่วงหน้า... "Sub InsertRowsAtIntervals() 'Updateby20150707 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 Workput" , WorkRng.Address, Type:=8) xRowsCount = WorkRng.Rows.Count xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1) xRows = Application.InputBox("จำนวนแถวที่จะ แทรกในแต่ละช่วงเวลาหรือไม่ ", 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 ซับย่อยถัดไป"
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก!!!!! มันอัศจรรย์มาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก!!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Hi


ฉันใช้โค้ดช่วง vba มันใช้งานได้ ..แต่เมื่อฉันใช้เกิน 100000 แถว มันไม่ทำงาน .. กรุณาแนะนำสิ่งที่ฉันควรเปลี่ยนถ้ามี


Sub InsertRowsAtIntervals ()
'Updateby20150707
Dim Rng เป็นช่วง
Dim xInterval เป็นจำนวนเต็ม
Dim xRows เป็นจำนวนเต็ม
Dim xRowsCount เป็นจำนวนเต็ม
Dim xNum1 เป็นจำนวนเต็ม
Dim xNum2 เป็นจำนวนเต็ม
Dim WorkRng เป็นช่วง
Dim xWs เป็นเวิร์กชีต
xTitleId = "KutoolsforExcel"
ตั้งค่า WorkRng = Application.Selection
ตั้งค่า WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("ป้อนช่วงแถว ", xTitleId, 1, ประเภท:=1)
xRows = Application.InputBox("แต่ละช่วงต้องแทรกกี่แถว ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
ตั้งค่า xWs = WorkRng.Parent
สำหรับ i = 1 ถึง Int(xRowsCount / xInterval)
xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column))เลือก
Application.Selection.EntireRow.Insert
xNum1 = xNum1 + xNum2
ต่อไป
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ยอดเยี่ยม - คุณช่วยฉันประหยัดการป้อนข้อมูลได้มาก ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันจะรับรหัสสำหรับแทรกจำนวนคอลัมน์เฉพาะลงในข้อมูลในช่วงเวลาที่กำหนดได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณพีเค
หากต้องการแทรกคอลัมน์ว่างลงในข้อมูลที่มีอยู่ในช่วงเวลาที่กำหนด โค้ด VBA ด้านล่างสามารถช่วยคุณได้! โปรดลอง

แทรกคอลัมน์ย่อย AtIntervals()
Dim Rng เป็นช่วง
Dim xInterval เป็นจำนวนเต็ม
Dim xCs เป็นจำนวนเต็ม
Dim xCCount เป็นจำนวนเต็ม
Dim xNum1 เป็นจำนวนเต็ม
Dim xNum2 เป็นจำนวนเต็ม
Dim WorkRng เป็นช่วง
Dim xWs เป็นเวิร์กชีต
xTitleId = "KutoolsforExcel"
ตั้งค่า WorkRng = Application.Selection
ตั้งค่า WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xCCount = WorkRng.Columns.Count
xInterval = Application.InputBox("ป้อนช่วงคอลัมน์ ", xTitleId, 1, ประเภท:=1)
xCs = Application.InputBox("แต่ละช่วงต้องใส่คอลัมน์กี่คอลัมน์", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Column + xInterval
xNum2 = xCs + xInterval
ตั้งค่า xWs = WorkRng.Parent
สำหรับฉัน = 1 ถึง Int(xCCount / xInterval)
xWs.Range(xWs.Cells(WorkRng.Row, xNum1 + xCs - 1), xWs.Cells(WorkRng.Row, xNum1))เลือก
Application.Selection.EntireColumn.Insert
xNum1 = xNum1 + xNum2
ต่อไป
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วิธีเพิ่มแถวในข้อมูล excel ตามหมายเลขที่กล่าวถึงในเซลล์สุดท้าย พูดในข้อมูล excel ถ้าเซลล์สุดท้ายแสดงตัวเลขเป็น 4 วิธีในการ dd 4 แถวโดยอัตโนมัติคืออะไร ในแถวอื่นคือ 72 เป็นต้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณ SPGupta
หากต้องการแทรกแถวว่างตามรายการหมายเลขเฉพาะ โปรดใช้โค้ด VBA ด้านล่าง
โปรดลอง หวังว่าจะช่วยคุณได้!

แทรกย่อย()
'UpdatebyExtendoffice
Dim xRg เป็นช่วง
Dim xAddress เป็นสตริง
Dim I, xNum, xLastRow, xFstRow, xCol, xCount ตราบใด
เกี่ยวกับข้อผิดพลาดต่อไป
xAddress = ActiveWindow.RangeSelection.Address
ตั้งค่า xRg = Application.InputBox("เลือกคอลัมน์ตัวเลขเฉพาะที่จะใช้ (คอลัมน์เดียว):", "KuTools For Excel", xAddress, , , , , 8)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
Application.ScreenUpdating = เท็จ
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.คอลัมน์
xCount = xRg.Count
ตั้งค่า xRg = xRg(1)
สำหรับฉัน = xLastRow ถึง xFstRow ขั้นตอนที่ -1
xNum = เซลล์ (I, xCol)
ถ้า IsNumeric(xNum) และ xNum > 0 แล้ว
แถว(I + 1).ปรับขนาด(xNum).แทรก
xCount = xCount + xNum
End If
ต่อไป
xRg.Resize(xCount, 1) เลือก
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี คุณช่วยฉันหน่อยได้ไหม ฉันจะเปลี่ยนโค้ดนี้เพื่อโฆษณาแถวที่น้อยกว่าตัวเลขในเซลล์หนึ่งแถวได้อย่างไร ตัวอย่างเช่น ถ้าตัวเลขในเซลล์เป็น 4 ให้โปรแกรมเพิ่ม 3 แถว ถ้าตัวเลขในเซลล์เป็น 1 แถวจะไม่ถูกเพิ่ม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี นีน่า
เพื่อแก้ปัญหาของคุณ โปรดใช้รหัสด้านล่าง:

แทรกย่อย()
'UpdatebyExtendoffice
Dim xRg เป็นช่วง
Dim xAddress เป็นสตริง
Dim I, xNum, xLastRow, xFstRow, xCol, xCount ตราบใด
เกี่ยวกับข้อผิดพลาดต่อไป
xAddress = ActiveWindow.RangeSelection.Address
ตั้งค่า xRg = Application.InputBox("เลือกคอลัมน์ตัวเลขเฉพาะที่จะใช้ (คอลัมน์เดียว):", "KuTools For Excel", xAddress, , , , , 8)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
Application.ScreenUpdating = เท็จ
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.คอลัมน์
xCount = xRg.Count
ตั้งค่า xRg = xRg(1)
สำหรับฉัน = xLastRow ถึง xFstRow ขั้นตอนที่ -1
xNum = เซลล์ (I, xCol)
xNum = xNum - 1
ถ้า IsNumeric(xNum) และ xNum > 0 แล้ว
แถว(I + 1).ปรับขนาด(xNum).แทรก
xCount = xCount + xNum
End If
ต่อไป
xRg.Resize(xCount, 1) เลือก
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด


โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันใช้งานได้ดี ขอบคุณมาก!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี้เป็นสิ่งที่ดี ฉันแค่สงสัยว่า... และภาษาอังกฤษของฉันยังไม่สมบูรณ์แบบ หวังว่าคุณจะเข้าใจฉัน :) .....
เป็นไปได้ไหมที่จะเติมแถวว่างที่เพิ่มด้วยค่าจากแถวที่เป็นตัวเลขพารามิเตอร์นั้น?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Vladimir คุณหมายถึงการแทรกแถวว่างตามรายการตัวเลขในแผ่นงานหรือไม่? หากเป็นเช่นนั้น โปรดใช้รหัสด้านล่าง:
แทรกย่อย()
'UpdatebyExtendoffice
Dim xRg เป็นช่วง
Dim xAddress เป็นสตริง
Dim I, xNum, xLastRow, xFstRow, xCol, xCount ตราบใด
เกี่ยวกับข้อผิดพลาดต่อไป
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("เลือกรายการตัวเลขที่คุณต้องการแทรกแถวตาม:", "KuTools For Excel", xAddress, , , , , 8)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
Application.ScreenUpdating = เท็จ
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.คอลัมน์
xCount = xRg.Count
ตั้งค่า xRg = xRg(1)
สำหรับฉัน = xLastRow ถึง xFstRow ขั้นตอนที่ -1
xNum = เซลล์ (I, xCol)
ถ้า IsNumeric(xNum) และ xNum > 0 แล้ว
แถว(I + 1).ปรับขนาด(xNum).แทรก
xCount = xCount + xNum
End If
ต่อไป
xRg.Resize(xCount, 1) เลือก
Application.ScreenUpdating = จริง
จบ SubPlease ลองใช้หากคุณมีคำถามอื่น ๆ โปรดแสดงความคิดเห็นที่นี่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสนี้เหมาะสำหรับการแทรกแถว....Sub Insert()
'UpdatebyExtendoffice
Dim xRg เป็นช่วง
Dim xAddress เป็นสตริง
Dim I, xNum, xLastRow, xFstRow, xCol, xCount ตราบใด
เกี่ยวกับข้อผิดพลาดต่อไป
xAddress = ActiveWindow.RangeSelection.Address
ตั้งค่า xRg = Application.InputBox("เลือกคอลัมน์ตัวเลขเฉพาะที่จะใช้ (คอลัมน์เดียว):", "KuTools For Excel", xAddress, , , , , 8)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
Application.ScreenUpdating = เท็จ
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.คอลัมน์
xCount = xRg.Count
ตั้งค่า xRg = xRg(1)
สำหรับฉัน = xLastRow ถึง xFstRow ขั้นตอนที่ -1
xNum = เซลล์ (I, xCol)
xNum = xNum - 1
ถ้า IsNumeric(xNum) และ xNum > 0 แล้ว
แถว(I + 1).ปรับขนาด(xNum).แทรก
xCount = xCount + xNum
End If
ต่อไป
xRg.Resize(xCount, 1) เลือก
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด

แต่เป็นไปได้ไหม.... คัดลอกข้อมูลในเซลล์ว่างเหล่านั้นจากแถวนั้น หมายเลขพาราเมตริกนั้นอยู่ที่ไหน ฉันสามารถโพสต์รูปภาพที่นี่ได้ไหม อาจจะง่ายกว่าถ้าฉันแสดงให้คุณเห็นว่าฉันต้องการอะไร :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Vladimir อาจเป็นรหัส VBA ด้านล่างสามารถช่วยคุณได้ โปรดลอง ย่อย CopyRow()
'UpdatebyExtendoffice
Dim xRg เป็นช่วง
Dim xCRg เป็นช่วง
Dim xFNum เป็นจำนวนเต็ม
Dim xRN เป็นจำนวนเต็ม
เกี่ยวกับข้อผิดพลาดต่อไป
เลือกช่วง:
xTxt = ActiveWindow.RangeSelection.Address
ตั้งค่า xRg = Application.InputBox("เลือกรายการตัวเลข", "Kutools สำหรับ Excel", xTxt, , , , , 8)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub

ถ้า xRg.Columns.Count > 1 แล้ว
MsgBox "กรุณาเลือกคอลัมน์เดียว!"
ไปที่ SelectRange
End If
Application.ScreenUpdating = เท็จ
สำหรับ xFNum = xRg.Count ถึง 1 ขั้นตอน -1
ตั้งค่า xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.ค่า)
ด้วยแถว(xCRg.Row)
.สำเนา
.ปรับขนาด(xRN).แทรก
จบด้วย
ต่อไป
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด

ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เราสนิทกันมาก :) สิ่งที่ฉันต้องการตอนนี้คือหนึ่งแถวน้อยกว่าในโค้ด VBA ล่าสุด มากกว่าค่าของตัวเลขพารามิเตอร์ ตัวอย่างเช่น หากตัวเลขคือ 8 เราจำเป็นต้องแทรกและคัดลอก 7 แถว อย่างที่คุณทำเพื่อนีน่าด้วยCOPY .นี้
ดังนั้น ถ้าตัวเลขเป็น 8 เราก็ควรจะแทรกและคัดลอกแถวทั้งหมด 8 แถว และด้วยรหัส VBA ก่อนหน้า เรามี 9
TNX
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ในกรณีนี้ รหัสต่อไปนี้อาจช่วยคุณได้ โปรดลอง: ย่อย CopyData()
'Updateby Extendoffice
Dim xRow ตราบใดที่
Dim VInSertNum เป็นตัวแปร
xRow = 1
Application.ScreenUpdating = เท็จ
ทำในขณะที่ (เซลล์ (xRow, "A") <> "")
VInSertNum = เซลล์ (xRow, "B")
ถ้า ((VInSertNum > 1) และ IsNumeric(VInSertNum)) แล้ว
Range(Cells(xRow, "A"), Cells(xRow, "B")).Copy
ช่วง(เซลล์(xRow + 1, "A"), เซลล์(xRow + VInSertNum - 1, "B")).เลือก
Selection.Insert Shift:=xlDown
xRow = xRow + VInSertNum - 1
End If
xRow = xRow + 1
ห่วง
Application.ScreenUpdating = เท็จ
End SubNote: ในโค้ดด้านบนนี้ ตัวอักษร A ระบุคอลัมน์เริ่มต้นของช่วงข้อมูลของคุณและตัวอักษร B คือตัวอักษรคอลัมน์ที่คุณต้องการทำซ้ำแถวตาม โปรดเปลี่ยนตามความต้องการของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณมีโมดูลที่หักหมายเลขที่คัดลอกมาทีละรายการหรือไม่?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ ฉันมีอันนี้ แต่ฉันต้องการหัก 1 อันใช่หรือไม่
ย่อย CopyRow()
'UpdatebyExtendoffice
Dim xRg เป็นช่วง
Dim xCRg เป็นช่วง
Dim xFNum เป็นจำนวนเต็ม
Dim xRN เป็นจำนวนเต็ม
เกี่ยวกับข้อผิดพลาดต่อไป
เลือกช่วง:
xTxt = ActiveWindow.RangeSelection.Address
ตั้งค่า xRg = Application.InputBox("เลือกรายการตัวเลข", "Kutools สำหรับ Excel", xTxt, , , , , 8)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub

ถ้า xRg.Columns.Count > 1 แล้ว
MsgBox "กรุณาเลือกคอลัมน์เดียว!"
ไปที่ SelectRange
End If
Application.ScreenUpdating = เท็จ
สำหรับ xFNum = xRg.Count ถึง 1 ขั้นตอน -1
ตั้งค่า xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.ค่า)
ด้วยแถว(xCRg.Row)
.สำเนา
.ปรับขนาด(xRN).แทรก
จบด้วย
ต่อไป
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันกำลังพยายามสร้างและพิมพ์ป้ายชื่อใน Word จากสเปรดชีตที่มีปริมาณมากหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณมีโอกาสได้ดูสิ่งนี้หรือไม่?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทองอวยพรคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
กำลังมองหารหัสเพื่อสร้างรายการ Excel ที่ซ้ำกันด้วยตัวเลขในเซลล์และลบ 1 สำหรับต้นฉบับใช่หรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณผู้เขียน! คุณสมควรได้รับคำชมที่ดีที่สุดสำหรับสิ่งเหล่านี้! แต่ได้โปรดช่วยฉันด้วยรหัสเพื่อใส่ค่าคงที่ลงในแถวว่างทั้งหมดที่ฉันสร้างด้วยรหัสของคุณด้านบนนี้ เพื่อทำให้ตัวเองชัดเจนขึ้น ฉันต้องแทรกค่าคงที่ลงในแถวว่างทั้งหมด (ซึ่งแก้ไขแล้วด้วยโค้ดของคุณด้านบน) จากนั้นฉันต้องแทรกค่าคงที่ลงในแถวว่างทั้งหมด (นี่คือปัญหาของฉัน) ขอบคุณอย่างที่ฉันคาดหวังการตอบกลับจากคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี คุณหมายถึงการเติมแถวว่างด้วยค่าเฉพาะหรือไม่? ถ้าเป็นเช่นนั้น ให้บทความต่อไปนี้ช่วยคุณได้:https://www.extendoffice.com/documents/excel/772-excel-fill-blank-cells-with-0-or-specific-value.html
โปรดลอง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันสามารถรับโค้ด VBA สำหรับการลบแถวตามค่าที่ซ้ำกันในคอลัมน์ที่เลือกโดยรักษาค่าที่ไม่ซ้ำทั้งหมดได้หรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี รอย ถ้าคุณต้องการลบแถวตามค่าที่ซ้ำกัน โดยปกติ คุณสามารถใช้ ลบรายการที่ซ้ำกัน ฟีเจอร์ใน Excel เพื่อลบแถว แน่นอนว่าถ้าคุณต้องการรหัส VBA โปรดใช้รหัสด้านล่าง: (ขั้นแรก คุณควรเลือกช่วงข้อมูลที่คุณต้องการลบ แล้วเรียกใช้รหัสนี้ แถวตาม ค่าที่ซ้ำกันในคอลัมน์แรกของการเลือกของคุณจะถูกลบออกพร้อมกัน ) ย่อย Delete_duplicate_rows()
Dim Rng เป็นช่วง
ตั้งค่า Rng = การเลือก
Rng.RemoveDuplicates คอลัมน์:=Array(1), Header:=xlYes
End Sub โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี้เด็ดมาก!! ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Muito obrigado, salvou meu trabalho, eu não tinha ideia de como fazer มุอิโตะ obrigado mesmo!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,
ด้วยความยินดี. ดีใจที่มันช่วย คำถามใด ๆ โปรดอย่าลังเลที่จะติดต่อเรา มีวันที่ดี
ขอแสดงความนับถือ
แมนดี้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณช่วยบอกวิธีแทรกคอลัมน์ด้วยวิธีนี้ได้ไหม รหัสคืออะไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีเพื่อน,
คุณสามารถใช้รหัส VBA นี้:

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


ขอแสดงความนับถือ
แมนดี้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Вот выручили так выручили!
ซิเดล, ломал голову как добавить строки по заданному количеству.
Ваш макрос мне очень помог.
ได้รับคะแนน 5 จาก 5
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ชื่อ อีเมล หมายเลขโทรศัพท์
0 ชื่อ อีเมล หมายเลขโทรศัพท์
ที่อยู่บรรทัดที่ 2 ชื่อ เบอร์โทร 0
ชื่อ อีเมล หมายเลขโทรศัพท์
0 ชื่อ อีเมล หมายเลขโทรศัพท์
ที่อยู่บรรทัดที่ 2 0


ฉันจะแก้ไขสิ่งนี้เพื่อเริ่มแถวใหม่ที่ทุกค่าว่างหรือ 0 โดยไม่มีหมายเลขโทรศัพท์ที่มี 0 เริ่มแถวใหม่ได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณ Jarrod

ขออภัย ไม่เข้าใจปัญหาของคุณอย่างชัดเจน
คุณช่วยอธิบายปัญหาของคุณให้ละเอียดกว่านี้ได้ไหม หรือคุณสามารถแทรกภาพหน้าจอหรือไฟล์ที่นี่
ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
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 ฮวน รามิเรซ
01/10/2022 19.258.369-4 ฮวน รามิเรซ
01/10/2022 19.258.369-4 ฮวน รามิเรซ

quede asi

01/10/2022 19.258.369-4 ฮวน รามิเรซ
02/10/2022 19.258.369-4 ฮวน รามิเรซ
03/10/2022 19.258.369-4 ฮวน รามิเรซ

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