Hoppa till huvudinnehåll

Hur infogar jag en tom ny rad automatiskt med kommandoknappen i Excel?

I många fall kan du behöva infoga en tom ny rad i en angiven position i kalkylbladet. I den här artikeln visar vi dig hur du infogar en tom ny rad automatiskt genom att klicka på en kommandoknapp i Excel.

Infoga en tom ny rad automatiskt med kommandoknappen


Infoga en tom ny rad automatiskt med kommandoknappen

Du kan köra följande VBA-kod för att infoga en tom ny rad genom att klicka på en kommandoknapp. Gör så här.

1. För det första måste du infoga en kommandoknapp. var god klicka Utvecklare > Insert > Kommandoknapp (ActiveX-kontroll). Se skärmdump:

2. Rita sedan en kommandoknapp till kalkylbladet du behöver för att lägga till nya rader, högerklicka på kommandoknappen och klicka Våra Bostäder från högerklickmenyn.

3. I Våra Bostäder dialogrutan, ange den visade texten på kommandoknappen i Bildtext lådan under kategoriseras och stäng sedan dialogrutan.

Du kan se att den visade texten på kommandoknappen ändras enligt nedanstående skärmdump.

4. Högerklicka på kommandoknappen igen och klicka sedan på Visa kod från högerklickmenyn.

5. Sedan Microsoft Visual Basic för applikationer fönstret, byt ut den ursprungliga koden med nedanstående VBA-kod i Koda fönster.

VBA-kod: Infoga tom ny rad automatiskt med kommandoknappen

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

Anmärkningar: I koden är CommanButton1 namnet på kommandoknappen du har skapat.

6. Tryck andra + Q samtidigt för att stänga Microsoft Visual Basic för applikationer fönster. Och stäng av Designläge under Utvecklare fliken.

7. Klicka på den infogade kommandoknappen och a Kutools för Excel dialogrutan dyker upp. Ange ett visst radnummer där du vill lägga till en tom ny rad och klicka sedan på OK knapp. Se skärmdump:

Sedan sätts den tomma nya raden in i en angiven position i kalkylbladet som visas nedan. Och det behåller cellformateringen för ovanstående cell.


Relaterade artiklar:

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
Comments (26)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bedankt voor je uitleg. Ik heb de formule toegepast maar bekom dat ik maar 1 lijn kan toevoegen. Daarna laat de knop het niet meer toe en moet ik eerst mijn toegevoegde rij verwijderen. Is er een manier om dit aan te passen?
This comment was minimized by the moderator on the site
Is there a way to make to row inset always below the last entry?
This comment was minimized by the moderator on the site
How do I do the opposite of this and create a button that will delete a row?
This comment was minimized by the moderator on the site
Hi Big Ant,

Here's the modified code to delete a specified row when the Command Button is clicked:


Private Sub CommandButton1_Click()
'Updated by Extendoffice 20230817
    Dim rowNum As Integer
    On Error Resume Next
    rowNum = Application.InputBox(Prompt:="Enter Row Number which you want to delete:", _
                                    Title:="Kutools for excel", Type:=1)
    If rowNum <> 0 Then
        Rows(rowNum).Delete Shift:=xlUp
    End If
End Sub
This comment was minimized by the moderator on the site
Criei uma linha e nomeei como spotB,
Mudei a altura da linha para 0,01 para ocultá-la (apenas por estética).
Criei um botão:
Application.Goto Reference:="spotB"
Selection.EntireRow.Insert

Problema resolvido.

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, os usuários não leem perguntas e clicam logo em OK, depois reclamam...
This comment was minimized by the moderator on the site
... 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 e a quantidade, não dá...
This comment was minimized by the moderator on the site
Caros colegas, após pesquisar (bastante) na net 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 célula ativa. Isto porquê se eu gravar o endereço da célula, ele não muda, fica sempre na mesma célula e as seguintes não vão ficar corretamente abaixo, e se eu usar um endereço de célula fixo, a linha tem que ser inserida acima, mas não formata da forma desejada, que seria o formato das linhas de cima.

Acho que o código existe, 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?
This comment was minimized by the moderator on the site
Hi

I used the code but wanted to add rows with formulas, therefore I added the last line to be able to add the rows with formulas.
However, in my excel file and in column "F" I have a text which can be entered manually and would be different in different cases. Therefore, I would like to add rows below the reference row with keeping the formulas and values in all cells except the cell from column "F" which I would like to be copied as blank!
Could you please help me with what should I add to the underneath code to be able to have the cells of column "F" blank whenever I add a row with this code?
thanks in advance!

Private Sub CommandButton1_Click()
Dim xIntRrow As Integer
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)
xIntRrow = Application.InputBox(Prompt:="Type in the number of rows you want to insert", _
Title:="Kutools for excel", Type:=1)
Rows(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown
Rows(rowNum).Resize(xIntRrow + 1).FillDown

End Sub
This comment was minimized by the moderator on the site
Hi Mah,
The following VBA code may do you a favor. Please give it a try. Thank you.

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
This comment was minimized by the moderator on the site
Sub AddNewRow()



Private Sub CommandButton1_Click()

ActiveSheet.Unprotect Password:="1234"



Dim mySheets

Dim i As Long



mySheets = Array("Sheet2")



For i = LBound(mySheets) To UBound(mySheets)

With Sheets(mySheets(i))

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

.Range("B10:H10").Borders.Weight = xlThin

End With

Next i



ActiveSheet.Protect Password:="1234"



End Sub

I don't know if this will work for you. It worked quite well for me. I even left unprotected cells that you can input data and the formulas are still active. Took me a whole day to figure it out. replace "1234" with whatever password you feel like, "Sheet2" with the Sheet you are working with and input the range you want.
The code first unprotects the worksheet, adds row and protects the worksheet.
This comment was minimized by the moderator on the site
is it possible to create in a different sheet? I really need that
This comment was minimized by the moderator on the site
can possible insert multiple sheet row at one time click by this .
This comment was minimized by the moderator on the site
Hi,
The below code can help you solve the problem. Please have a try.

Private Sub CommandButton1_Click()
Dim xIntRrow As Integer
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)
xIntRrow = Application.InputBox(Prompt:="Type in the number of rows you want to insert", _
Title:="Kutools for excel", Type:=1)
Rows(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown

End Sub
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations