Denna handledning visar hur du använder VBA för att infoga rader och kolumner i Excel.
För att infoga rader eller kolumner använder vi Infoga metod.
Infoga en enda rad eller kolumn
Infoga ny rad
För att infoga en enda rad kan du använda raderobjektet:
1 | Rader (4) .Inför |
Eller så kan du använda intervallobjektet tillsammans med EntireRow:
1 | Område ("b4"). EntireRow.Insert |
Infoga ny kolumn
I likhet med att infoga rader kan vi använda kolumnobjektet för att infoga en kolumn:
1 | Kolumner (4) .Inför |
Eller intervallobjektet, tillsammans med EntireColumn:
1 | Område ("b4"). EntireColumn.Insert |
Infoga flera rader eller kolumner
Infoga flera rader
När du sätter in flera rader med raderobjektet måste du ange raderna i citattecken:
1 | Rader ("4: 6"). Infoga |
Att infoga flera rader med intervallobjektet fungerar på samma sätt som med en enda rad:
1 | Område ("b4: b6"). EntireRow.Insert |
Infoga flera kolumner
När du sätter in flera kolumner med kolumnobjektet anger du kolumnen brev i citat:
1 | Kolumner ("B: D"). Infoga |
Att infoga flera kolumner med intervallobjektet fungerar på samma sätt som med en enda kolumn:
1 | Område ("b4: d4"). EntireColumn.Insert |
Infoga - Shift & CopyOrigin
De Infoga metod har två valfria argument:
- Flytta - Vilken riktning för att flytta cellerna
- CopyOrigin - Vilken cellformatering som ska kopieras (ovan, under, vänster eller höger)
Skift -argumentet är irrelevant när du sätter in hela rader eller kolumner. Det låter dig bara indikera att växla nedåt eller flytta åt höger:
- xlShiftDown - Flytta ner cellerna
- xlShiftToRight - Flytta celler åt höger
Som du kan se kan du inte växla uppåt eller åt höger.
De CopyOrigin argument har två potentiella ingångar:
- xlFormatFromLeftorAbove - (0) Nyinsatta celler tar formatering från celler ovanför eller till vänster
- xlFormatFromRightorBelow (1) Nyligen infogade celler tar formatering från celler under eller till höger.
Låt oss titta på några exempel på CopyOrigin argument. Här är våra första uppgifter:
I det här exemplet infogas en rad med formatering från raden ovan.
1 | Rader (5) .Insert, xlFormatFromLeftOrAbove |
I det här exemplet infogas en rad med formatering från raden nedan.
1 | Rader (5) .Insert, xlFormatFromRightOrBelow |
Andra infoga exempel
Infoga kopierade rader eller kolumner
Om du vill infoga en kopierad rad använder du koden så här:
12 | Område ("1: 1"). KopieraOmråde ("5: 5"). Infoga |
Här kopierar vi rad 1 och sätter in den på rad 5.
Infoga rader baserat på cellvärde
Detta kommer att gå igenom ett intervall och infoga rader baserat på cellvärden:
1234567891011 | Sub InsertRowswithSpecificValue ()Dim cell As RangeFör varje cell i intervallet ("b2: b20")Om cell.Value = "insert" Dåcell.EntireRow.InsertAvsluta omNästa cellAvsluta Sub |
Ta bort rader eller kolumner
För att radera rader eller kolumner, använd helt enkelt Radera metod.
1234567 | Rad (1). RaderaOmråde ("a1"). EntireRow.DeleteKolumner (1). RaderaOmråde ("a1"). EntireColumn.Delete |