Hoe een rij invoegen met vba in excel?

In deze zelfstudie zullen we zien hoe u een rij of kolom kunt invoegen met behulp van VBA-code in Excel. We zullen ook onderzoeken wat de verschillende manieren zijn om hiervoor een macro te schrijven.

Voeg een enkele rij in met VBA

Als u een rij wilt invoegen met behulp van VBA-code, moet u de eigenschap “Whole Row” gebruiken met de methode “Insert”. Met de eigenschap ‘volledige rij’ kunt u met behulp van een cel naar de hele rij verwijzen en daar vervolgens een nieuwe rij invoegen. Standaard wordt een enkele rij ingevoegd vóór de cel die u noemde.

voeg een enkele regel in met vba
  1. Geef eerst een cel op met behulp van het bereikobject.
  2. Voer nu een punt (.) in om de lijst met eigenschappen en methoden te krijgen.
  3. Selecteer daarna de eigenschap “Hele rij” of voer deze in.
  4. Voer aan het einde opnieuw een punt (.) in en selecteer de methode “Invoegen” of typ deze.
 Range("A1").EntireRow.Insert

Uw code is hier klaar om een regel in te voegen. Wanneer u deze code nu uitvoert, wordt er onmiddellijk een nieuwe rij ingevoegd vóór cel A1.

Meerdere regels invoegen

Er zijn twee manieren om meerdere rijen in een spreadsheet in te voegen die ik heb gevonden. De eerste is dezelfde invoegmethode die we in het bovenstaande voorbeeld hebben gebruikt.

Hiermee moet u een bereik opgeven waarvan het aantal gelijk is aan het aantal rijen dat u wilt invoegen. Stel nu dat u vijf regels erna wilt invoegen, in dit geval kunt u code als deze gebruiken.

meerdere regels invoegen

Eerlijk gezegd vond ik deze methode niet erg nuttig, omdat je het bereik moet wijzigen als je het aantal rijen wilt wijzigen.

Dus hier is de tweede methode.

 Dim iRow As Long Dim iCount As Long Dim i As Long iCount = InputBox(Prompt:="How many rows you want to add?") iRow = InputBox _ (Prompt:="After which row you want to add new rows? (Enter the row number") For i = 1 To iCount Rows(iRow).EntireRow.Insert Next i

Wanneer u deze code uitvoert, wordt u gevraagd het aantal regels in te voeren dat u wilt toevoegen en vervolgens het regelnummer waar u al deze regels wilt toevoegen. Het gebruikt een FOR-lus (For Next) om dit aantal keren te herhalen en rijen één voor één in te voegen.

Rijen invoegen op basis van celwaarden

Als u rijen wilt invoegen op basis van een celwaarde , kunt u de volgende code gebruiken.

 Dim iRow As Long Dim iCount As Long Dim i As Long iCount = Range("A1").Value iRow = Range("B1").Value For i = 1 To iCount Rows(iRow).EntireRow.Insert Next i

Wanneer u deze macro uitvoert, wordt het aantal rijen uit cel A1 gebruikt en de rij waaraan u rijen uit cel B1 wilt toevoegen.

Voeg een regel in zonder opmaak

Wanneer u een rij invoegt waarvan de rij erboven een specifieke opmaak heeft, zal de rij in dit geval ook automatisch die opmaak krijgen. En de eenvoudigste manier om met deze situatie om te gaan is door duidelijke formaten te gebruiken. Beschouw de volgende code.

 Rows(7).EntireRow.Insert Rows(7).ClearFormats

Wanneer u de bovenstaande code uitvoert, wordt er een nieuwe regel ingevoegd vóór de zevende regel. Wat er nu gebeurt, als u een regel vóór de zevende regel invoegt, wordt die nieuwe regel de zevende regel, waarna de tweede regel code de opmaak van die regel wist.

Voeg een gekopieerde regel in

U kunt dezelfde methode ook gebruiken om een regel te kopiëren en deze vervolgens ergens anders in te voegen. Zie de volgende code.

 Application.CutCopyMode = False With Worksheets("Data") .Rows(5).Copy .Rows(9).Insert Shift:=xlShiftDown End With Application.CutCopyMode = True

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *