Denne vejledning viser, hvordan du bruger VBA til at indsætte rækker og kolonner i Excel.
For at indsætte rækker eller kolonner bruger vi Indsæt metode.
Indsæt en enkelt række eller kolonne
Indsæt ny række
For at indsætte en enkelt række kan du bruge Rækkeobjektet:
1 | Rækker (4) .Indsæt |
Eller du kan bruge Range Object sammen med EntireRow:
1 | Område ("b4"). EntireRow.Insert |
Indsæt ny kolonne
Ligesom at indsætte rækker, kan vi bruge kolonneobjektet til at indsætte en kolonne:
1 | Kolonner (4) .Indsæt |
Eller Range Object sammen med EntireColumn:
1 | Område ("b4"). EntireColumn.Insert |
Indsæt flere rækker eller kolonner
Indsæt flere rækker
Når du indsætter flere rækker med rækkeobjektet, skal du indtaste rækkerne i anførselstegn:
1 | Rækker ("4: 6"). Indsæt |
Indsættelse af flere rækker med områdeobjektet fungerer på samme måde som med en enkelt række:
1 | Område ("b4: b6"). EntireRow.Insert |
Indsæt flere kolonner
Når du indsætter flere kolonner med kolonneobjektet, skal du indtaste kolonnen bogstaver i citater:
1 | Kolonner ("B: D"). Indsæt |
Indsættelse af flere kolonner med Range Object fungerer på samme måde som med en enkelt kolonne:
1 | Område ("b4: d4"). EntireColumn.Insert |
Indsæt - Shift & CopyOrigin
Det Indsæt metode har to valgfrie argumenter:
- Flytte - Hvilken retning cellerne skal flyttes
- CopyOrigin - Hvilken celleformatering der skal kopieres (over, under, venstre eller højre)
Shift -argumentet er irrelevant, når hele rækker eller kolonner indsættes. Det giver dig kun mulighed for at angive at skifte ned eller skifte til højre:
- xlShiftDown - Skift cellerne ned
- xlShiftToRight - Skift celler til højre
Som du kan se, kan du ikke skifte op eller til højre.
Det CopyOrigin argument har to potentielle input:
- xlFormatFromLeftorAbove - (0) Nyt indsatte celler formateres fra celler over eller til venstre
- xlFormatFromRightorBelow (1) Nyligt indsatte celler formateres fra celler under eller til højre.
Lad os se på nogle eksempler på CopyOrigin argument. Her er vores indledende data:
Dette eksempel vil indsætte en række ved at tage formateringen fra ovenstående række.
1 | Rækker (5) .Indsæt, xlFormatFromLeftOrAbove |
Dette eksempel vil indsætte en række ved at tage formateringen fra nedenstående række.
1 | Rækker (5) .Indsæt, xlFormatFromRightOrBelow |
Andre indsætningseksempler
Indsæt kopierede rækker eller kolonner
Hvis du gerne vil indsætte en kopieret række, vil du bruge kode som denne:
12 | Område ("1: 1"). KopiérOmråde ("5: 5"). Indsæt |
Her kopierer vi række 1 og indsætter den i række 5.
Indsæt rækker baseret på celleværdi
Dette vil gå gennem et område og indsætte rækker baseret på celleværdier:
1234567891011 | Sub InsertRowswithSpecificValue ()Dim celle som områdeFor hver celle i området ("b2: b20")Hvis cell.Value = "insert" Såcell.EntireRow.InsertAfslut HvisNæste celleAfslut Sub |
Slet rækker eller kolonner
Hvis du vil slette rækker eller kolonner, skal du blot bruge Slet metode.
1234567 | Rækker (1). SletOmråde ("a1"). EntireRow.DeleteKolonner (1). SletOmråde ("a1"). EntireColumn.Delete |