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

วิธีแทรกแถวใหม่ว่างโดยอัตโนมัติโดยปุ่มคำสั่งใน Excel

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

แทรกแถวใหม่ที่ว่างโดยอัตโนมัติโดยปุ่มคำสั่ง


แทรกแถวใหม่ที่ว่างโดยอัตโนมัติโดยปุ่มคำสั่ง

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

1. ประการแรกคุณต้องแทรกปุ่มคำสั่ง กรุณาคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > ปุ่มคำสั่ง (ActiveX Control). ดูภาพหน้าจอ:

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

3 ใน อสังหาริมทรัพย์ ให้ป้อนข้อความที่แสดงของปุ่มคำสั่งลงในไฟล์ คำบรรยายภาพ ภายใต้ หมวดหมู่ จากนั้นปิดกล่องโต้ตอบ

คุณสามารถเห็นข้อความที่แสดงของปุ่มคำสั่งเปลี่ยนไปตามภาพด้านล่างที่แสดง

4. คลิกขวาที่ปุ่มคำสั่งอีกครั้งจากนั้นคลิก ดูรหัส จากเมนูคลิกขวา

5. จากนั้น Microsoft Visual Basic สำหรับแอปพลิเคชัน โปรดแทนที่รหัสเดิมด้วยรหัส VBA ด้านล่างลงในไฟล์ รหัส หน้าต่าง

รหัส VBA: แทรกแถวใหม่ที่ว่างโดยอัตโนมัติโดยปุ่มคำสั่ง

Private Sub CommandButton1_Click()
    Dim rowNum As Integer
    On Error Resume Next
    rowNum = Application.InputBox(Prompt:="Enter Row Number where you want to add a row:", _
                                    Title:="Kutools for excel", Type:=1)
    Rows(rowNum & ":" & rowNum).Insert Shift:=xlDown
End Sub

หมายเหตุ: ในโค้ด CommanButton1 คือชื่อของปุ่มคำสั่งที่คุณสร้างขึ้น

6 กด อื่น ๆ + Q พร้อมกันเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง. และปิด โหมดการออกแบบ ภายใต้ ผู้พัฒนา แถบ

7. คลิกปุ่มคำสั่งที่แทรกและ a Kutools สำหรับ Excel กล่องโต้ตอบจะปรากฏขึ้น โปรดป้อนหมายเลขแถวที่คุณต้องการเพิ่มแถวใหม่ว่างจากนั้นคลิกที่ OK ปุ่ม. ดูภาพหน้าจอ:

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


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


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

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

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

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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (22)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีใครช่วยแนะนำว่าฉันจะแก้ไขสิ่งนี้เพื่อเพิ่มแถวใหม่โดยอัตโนมัติที่ด้านล่างของตาราง excel ได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณพบคำตอบหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันกำลังใช้รหัสนี้ แต่ไม่ได้ดึงสูตรจากแถวมาก่อน คุณช่วยได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียน คิม

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

ขอแสดงความนับถือ Crystal
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณสามารถให้ตัวอย่าง? ไม่ได้ติดตามสิ่งที่คุณพูดที่นี่ ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
โปรดแปลงช่วงของคุณเป็นช่วงตารางเพื่อนำสูตรลงมาโดยอัตโนมัติเมื่อแทรกแถวใหม่ ดูภาพหน้าจอ:
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีปัญหาเดียวกันกับ Kim - เมื่อชีตไม่ได้รับการป้องกัน จะเพิ่มแถวที่มีการจัดรูปแบบที่ถูกต้องและสูตรที่ถูกต้อง เมื่อชีตได้รับการป้องกันแล้ว จะไม่คัดลอกสูตรลงไป ความคิดใด?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มิเชลที่รัก
ตามค่าเริ่มต้น แผ่นงานที่มีการป้องกันจะไม่อนุญาตให้แทรกแถวว่าง
ดังนั้นรหัส VBA จึงไม่สามารถทำงานได้ในกรณีนั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีวิธีเพิ่มปุ่มแทรกแถวและให้แถวใหม่เก็บเซลล์ที่ผสาน/จัดรูปแบบเหมือนอยู่ในส่วนที่เหลือของตารางหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Simon
ขออภัยสามารถช่วยแก้ปัญหานี้ได้ ขอบคุณสำหรับความคิดเห็นของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีวิธีให้แถวใหม่รักษาการจัดรูปแบบของแถวด้านล่างแทนที่จะเป็นแถวด้านบนหรือไม่?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคุณทาร์ล
ขออภัยสามารถช่วยแก้ปัญหานี้ได้ ขอบคุณสำหรับความคิดเห็นของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช่ ฉันเล่นกับสคริปต์และมันได้ผลสำหรับฉัน คุณเพียงแค่เพิ่มหมายเลขแถวที่คุณต้องการ (ฉันเลือกแถวที่ 6) แต่ฉันจะตกใจถ้าได้รับอนุญาตให้เผยแพร่

คำสั่งย่อยส่วนตัวButton1_Click()
Dim rowNum เป็นจำนวนเต็ม
เกี่ยวกับข้อผิดพลาดต่อไป
Rows(rowNum & "6")).Insert Shift:=xlDown
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สามารถแทรกแถวแผ่นงานได้หลายแผ่นพร้อมกันในคลิกเดียว
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
รหัสด้านล่างสามารถช่วยคุณแก้ปัญหาได้ ได้โปรดลองดู

คำสั่งย่อยส่วนตัวButton1_Click()
Dim xIntRrow เป็นจำนวนเต็ม
Dim rowNum เป็นจำนวนเต็ม
เกี่ยวกับข้อผิดพลาดต่อไป
rowNum = Application.InputBox(Prompt:="ป้อนหมายเลขแถวที่คุณต้องการเพิ่มแถว:", _
Title:="Kutools for excel", Type:=1)
xIntRrow = Application.InputBox(Prompt:="พิมพ์จำนวนแถวที่คุณต้องการแทรก", _
Title:="Kutools for excel", Type:=1)
Rows(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown

ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เป็นไปได้ไหมที่จะสร้างในชีตอื่น? ฉันต้องการสิ่งนั้นจริงๆ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ย่อย AddNewRow()



คำสั่งย่อยส่วนตัวButton1_Click()

ActiveSheet.Unprotect รหัสผ่าน:="1234"



หรี่ mySheets

มืดมนตราบนานเท่านาน



mySheets = Array("Sheet2")



สำหรับ i = LBound(mySheets) ถึง UBound(mySheet)

ด้วยชีต (mySheets(i))

.Range("B10")).EntireRow.Insert Shift:=xlDown

.ช่วง("B10:H10") .Borders.Weight = xlThin

จบด้วย

ต่อไปฉัน



ActiveSheet.Protect รหัสผ่าน:="1234"



ย่อยสิ้นสุด

ฉันไม่รู้ว่าสิ่งนี้จะได้ผลสำหรับคุณหรือไม่ มันทำงานได้ดีสำหรับฉัน ฉันยังเหลือเซลล์ที่ไม่มีการป้องกันซึ่งคุณสามารถป้อนข้อมูลและสูตรยังคงทำงานอยู่ ฉันใช้เวลาทั้งวันในการคิดออก แทนที่ "1234" ด้วยรหัสผ่านที่คุณรู้สึกว่าต้องการ "Sheet2" ด้วยชีตที่คุณใช้งานอยู่และป้อนช่วงที่คุณต้องการ
โค้ดจะยกเลิกการป้องกันเวิร์กชีตก่อน เพิ่มแถวและป้องกันเวิร์กชีต
kiongakamau@gmail.com
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Hi

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

คำสั่งย่อยส่วนตัวButton1_Click()
Dim xIntRrow เป็นจำนวนเต็ม
Dim rowNum เป็นจำนวนเต็ม
เกี่ยวกับข้อผิดพลาดต่อไป
rowNum = Application.InputBox(Prompt:="ป้อนหมายเลขแถวที่คุณต้องการเพิ่มแถว:", _
Title:="Kutools for excel", Type:=1)
xIntRrow = Application.InputBox(Prompt:="พิมพ์จำนวนแถวที่คุณต้องการแทรก", _
Title:="Kutools for excel", Type:=1)
Rows(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown
แถว(rowNum).ปรับขนาด(xIntRrow + 1).เติมลง

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

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220707
    Dim rowNum As Integer
    Dim xRg1, xRg2 As Range
    
    On Error Resume Next
    
    rowNum = Application.InputBox(Prompt:="Enter Row Number where you want to add a row:", _
                                    Title:="Kutools for excel", Type:=1)
    
    Rows(rowNum & ":" & rowNum).Insert Shift:=xlDown
    Rows((rowNum - 1) & ":" & (rowNum - 1)).Copy
    Rows(rowNum & ":" & rowNum).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("F" & rowNum).Value = ""
End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Caros colegas, após pesquisar (bastante) กับ não consegui encontrar um atalho, comando, código, nada, nada, que eu possa usar para inserir em uma macro APENAS uma forma de inserir uma linha ABAIXO da. Isto porquê se eu gravar o endereço da célula, ele não muda, fica semper na mesma célula e as seguintes não vão ficar corretamente abaixo, e se eu usar um endereço de célula รูปแบบการแก้ไข, ใน รูปแบบ desejada, que seria o formo das linhas de cima

Acho que o códigoมีอยู่, só não encontro, já tentei várias formas, selecionando um fixo, subindo uma linha e pedindo para inserir após, mas as seguintes não funcionam de acordo.

Alguém poderia me ajudar?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
... Testei os códigos acima, mas, como se trata de pessoas que vão usar, não é viável os box que pedem a linha ea quantidade, não dá...
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Criei uma linha e nomeei como spotB,
Mudei a altura da linha para 0,01 para ocultá-la (apenas por estética).
Crei um botão:
Application.Goto อ้างอิง:="spotB"
Selection.EntireRow.Insert

การแก้ปัญหา.

Obrigado pelos códigos a Mah e crystal, mas eu tinha 8 títulos para separar, cada um inserindo linhas quando necessário ao usuário, e não queria nenhuma pergunta sobre quantidade de linhas, ตกลงบนโลโก้ .
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL