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

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 Fastigheter från högerklickmenyn.

3. I Fastigheter 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:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (22)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Kan någon ge råd om hur jag kan ändra detta för att automatiskt lägga till den nya raden längst ner i en Excel-tabell?
Denna kommentar minimerades av moderatoren på webbplatsen
hittade du svaret?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag använder den här koden men den tar inte ner formlerna från raden innan, kan du hjälpa till.
Denna kommentar minimerades av moderatoren på webbplatsen
Kära Kim,

Vänligen infoga en tabell med intervallet du kommer att infoga tomma rader inuti. Efter det, när du infogar en ny rad, kommer formeln att sänkas automatiskt.

Med vänlig hälsning, Crystal
Denna kommentar minimerades av moderatoren på webbplatsen
Kan du ge ett exempel? Följer inte vad du säger här. Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Vänligen konvertera ditt intervall till ett tabellintervall för att få ner formeln automatiskt när du infogar nya rader. Se skärmdump:
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har samma problem som Kim - När arket är oskyddat lägger det till raden med rätt formatering och korrekta formler. När arket väl är skyddat kopieras det inte ner formlerna. Några tankar?
Denna kommentar minimerades av moderatoren på webbplatsen
Kära Michelle,
Som standard tillåter ett skyddat kalkylblad inte att infoga en tom rad.
Därför kan VBA-koden inte fungera i så fall.
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att lägga till en Infoga rad-knapp och låta de nya raderna behålla cellerna sammanslagna/formaterade som de är i resten av en tabell?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Simon,
Tyvärr kan vi hjälpa dig att lösa det här problemet ännu. Tack för din kommentar.
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att låta den nya raden behålla formateringen av raden nedanför istället för raden ovanför?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Tarl,
Tyvärr kan vi hjälpa dig att lösa det här problemet ännu. Tack för din kommentar.
Denna kommentar minimerades av moderatoren på webbplatsen
Ja, jag lekte med manuset och det fungerade för mig. Du lägger bara till det radnummer du vill ha (jag valde rad 6), men jag blir chockad om den får publiceras.

Privat underkommando-knappen1_Click ()
Dim rowNum Som heltal
On Error Resume Next
Rows(rowNum & "6"). Infoga Shift:=xlDown
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
kan möjligt infoga flera arkrader på en gång klicka med denna .
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Koden nedan kan hjälpa dig att lösa problemet. Gör ett försök.

Privat underkommando-knappen1_Click ()
Dim xIntRrow Som heltal
Dim rowNum Som heltal
On Error Resume Next
rowNum = Application.InputBox(Prompt:="Ange radnummer där du vill lägga till en rad:", _
Title:="Kutools for excel", Typ:=1)
xIntRrow = Application.InputBox(Prompt:="Skriv in antalet rader du vill infoga", _
Title:="Kutools for excel", Typ:=1)
Rows(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
är det möjligt att skapa i ett annat ark? Det behöver jag verkligen
Denna kommentar minimerades av moderatoren på webbplatsen
Sub AddNewRow()



Privat underkommando-knappen1_Click ()

ActiveSheet.Unprotect Password:="1234"



Dimma mySheets

Dim jag så länge



mySheets = Array("Sheet2")



För i = LBound(mySheets) To UBound(mySheets)

Med Sheets(mySheets(i))

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

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

Sluta med

Nästa jag



ActiveSheet.Protect Password:="1234"



End Sub

Jag vet inte om detta kommer att fungera för dig. Det fungerade ganska bra för mig. Jag lämnade till och med oskyddade celler som du kan mata in data och formlerna är fortfarande aktiva. Det tog mig en hel dag att komma på det. ersätt "1234" med vilket lösenord du än känner för, "Sheet2" med det ark du arbetar med och mata in det intervall du vill ha.
Koden tar först upp skyddet av kalkylbladet, lägger till rad och skyddar kalkylbladet.
kiongakamau@gmail.com
Denna kommentar minimerades av moderatoren på webbplatsen
Hi

Jag använde koden men ville lägga till rader med formler, därför la jag till den sista raden för att kunna lägga till raderna med formler.
Men i min excel-fil och i kolumn "F" har jag en text som kan skrivas in manuellt och som skulle vara annorlunda i olika fall. Därför skulle jag vilja lägga till rader under referensraden med att behålla formlerna och värdena i alla celler utom cellen från kolumn "F" som jag skulle vilja kopieras som tom!
Kan du snälla hjälpa mig med vad jag ska lägga till i koden under för att kunna ha cellerna i kolumn "F" tomma när jag lägger till en rad med denna kod?
Tack på förhand!

Privat underkommando-knappen1_Click ()
Dim xIntRrow Som heltal
Dim rowNum Som heltal
On Error Resume Next
rowNum = Application.InputBox(Prompt:="Ange radnummer där du vill lägga till en rad:", _
Title:="Kutools for excel", Typ:=1)
xIntRrow = Application.InputBox(Prompt:="Skriv in antalet rader du vill infoga", _
Title:="Kutools for excel", Typ:=1)
Rows(rowNum + 1 & ":" & rowNum + 1).EntireRow.Resize(xIntRrow).Insert Shift:=xlShiftDown
Rows(rowNum).Ändra storlek(xIntRrow + 1).FillDown

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Mah,
Följande VBA-kod kan göra dig en tjänst. Vänligen ge det ett försök. Tack.

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
Denna kommentar minimerades av moderatoren på webbplatsen
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 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 fixo, a linha tem que ser inserida acima format, damasida acima format 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?
Denna kommentar minimerades av moderatoren på webbplatsen
... 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á...
Denna kommentar minimerades av moderatoren på webbplatsen
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

Problem med att lösa.

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 per logo. .
Det finns inga kommentarer här ännu

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL