Makroexempel för att infoga/ta bort rader eller kolumner på flera blad i Excel

Sammanfattning

Den här artikeln innehåller ett exempel på ett Microsoft Visual Basic for Applications-makro (underprocedur) som du kan använda för att infoga eller ta bort rader eller kolumner i flera kalkylblad i Microsoft Excel.

Mer information

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan förklara hur en viss procedur fungerar, men de ändrar inte exemplen för att utöka funktionerna och konstruera procedurer som motsvarar dina behov. Om du vill infoga eller ta bort rader eller kolumner på flera blad använder du antingen För varje... Nästa instruktion för att loopa igenom alla nödvändiga blad eller markera raderna eller kolumnerna innan du utför infogningen eller borttagningen.

Obs!

Följande makroexempel fungerar bara på ett sammanhängande intervall med kolumner eller rader.

Makroexempel med en loop för att infoga rader i flera blad

Sub Insert_Rows_Loop()
     Dim CurrentSheet As Object

     ' Loop through all selected sheets.
     For Each CurrentSheet In ActiveWindow.SelectedSheets
        ' Insert 5 rows at top of each sheet.
        CurrentSheet.Range("a1:a5").EntireRow.Insert
     Next CurrentSheet
End Sub

Makroexempel för att välja kolumn och infoga ny kolumn

Följande makroexempel markerar hela kolumnen innan den infogar nya kolumner:

Sub Select_Insert_Column()
    Dim MyRange as Object
    ' Store the selected range in a variable.
    Set MyRange = Selection
    ' Select the entire column.
    Selection.EntireColumn.Select
    ' Insert Columns in all selected sheets.
    Selection.Insert
    ' Reselect the previously selected cells.
    MyRange.Select
End Sub