Hoe kopieer en verplaats je een blad met vba?

U kunt een blad in Excel kopiëren en verplaatsen met behulp van VBA-code, en in deze zelfstudie leren we verschillende manieren om dit te doen.

Kopieer een blad in dezelfde werkmap

Als u een blad in dezelfde werkmap wilt kopiëren, kunt u de volgende code gebruiken waarbij u de kopieermethode hebt gebruikt.

 Sheets("Sheet5").Copy Before:=Sheets(1)

In deze code is blad1 het eerste blad van de werkmap en wanneer u deze code uitvoert, wordt het blad met de naam ‘Blad5’ vóór het eerste blad van de werkmap gekopieerd.

kopieer-een-blad-naar-dezelfde-map

En als u het na het eerste blad wilt kopiëren, zou de code als volgt zijn.

 Sheets("Sheet5").Copy After:=Sheets(1)

En als u het na het eerste blad wilt kopiëren, zou de code als volgt zijn.

 Sheets("Sheet5").Copy Before:=Sheets("Sheet3") Sheets("Sheet5").Copy After:=Sheets("Sheet3")

Wanneer u deze VBA-code uitvoert, kopieert deze de “Blad5” voor en na de “Blad3”.

vba-code als u deze na het eerste blad wilt kopiëren

Met de volgende coderegel kunt u een blad na het laatste blad van de werkmap kopiëren. Het gebruikt sheet.count om het aantal vellen te bepalen en gebruikt vervolgens de telling om het vel als laatste te kopiëren.

 Sheets("myNewSheet").Move After:=Sheets(Sheets.Count)
kopieer-één-vel-na-het-laatste-vel-in-de-map

Handige links: Een macro uitvoerenMacrorecorderVisual Basic EditorHandboek voor persoonlijke macro’s

Kopieer een blad in dezelfde werkmap met een nieuwe naam

En als u een blad wilt kopiëren en het vervolgens onmiddellijk wilt hernoemen, moet u de eigenschap name gebruiken, net als de volgende code.

 Sheets("Sheet5").Move Before:=Sheets(1) ActiveSheet.Name = "myNewSheet"
kopieer-een-blad-naar-dezelfde-werkmap-met-de-nieuwe-naam

Verplaats een blad in dezelfde werkmap

Om een blad in dezelfde werkmap te verplaatsen, moet u de verplaatsingsmethode gebruiken, zoals in de volgende code.

 Sheets("Sheet5").Move After:=Sheets(1)
een vel in dezelfde map verplaatsen

Deze code verplaatst “Blad5” vóór “Blad2”, zoals u kunt zien in de bovenstaande momentopname.

Kopieer een blad naar de nieuwe werkmap

Wanneer u de kopieermethode gebruikt zonder een blad in de huidige werkmap te definiëren, opent VBA een nieuwe werkmap en kopieert dat blad naar die werkmap.

 Sheets("Sheet5").Copy

En om een blad naar een nieuwe werkmap te verplaatsen.

 Sheets("Sheet5").Move

Kopieer meerdere bladen naar de nieuwe werkmap

Als u meerdere werkbladen tegelijk aan de nieuwe werkmap wilt toevoegen, gebruikt u deze code.

 Sheets(Array("Sheet2", "Sheet3", "Sheet4", "Sheet5")).Copy

Met de bovenstaande code wordt een reeks werkbladen gemaakt en deze vervolgens allemaal naar een nieuwe werkmap gekopieerd.

Kopieer een blad naar een andere werkmap

Als u een blad naar een andere werkmap wilt kopiëren die al geopend is, kunt u de naam van de werkmap na of vóór het argument vermelden.

 Sheets("Sheet1").Copy Before:=Workbooks("Book1.xlsx").Sheets(1)

De bovenstaande code kopieert Blad1 uit de actieve werkmap en voegt deze toe vóór het eerste blad van Book1.xlsx dat al geopend is.

En als je het wilt verplaatsen.

 Sheets("Sheet1").Move Before:=Workbooks("Book1.xlsx").Sheets(1)

Kopieer een blad naar een gesloten werkmap

Er is een manier om een blad naar een gesloten werkmap te kopiëren en u hoeft het niet te openen. Kijk naar de onderstaande code.

 Sub vba_copy_sheet() Dim mybook As Workbook Application.ScreenUpdating = False Set mybook = _ Workbooks.Open _ ("C:UsersDellDesktopsamplefile.xlsx") Workbooks("Book1.xlsx").Sheets("Sheet2").Copy Before:=mybook.Sheets(1) mybook.Close SaveChanges:=True Application.ScreenUpdating = True End Sub

In deze code hebt u de myBook-variabele en vervolgens is er een werkmap aan toegewezen. We hebben het bijwerken van het scherm uitgeschakeld, zodat de code de taak aan de backend kan uitvoeren.

Kopieer een blad uit een andere werkmap zonder het te openen

Op dezelfde manier kunt u een blad uit een gesloten werkmap kopiëren en verplaatsen. Kijk naar de onderstaande code.

 Sub vba_copy_sheet() Dim mybook As Workbook Application.ScreenUpdating = False Set mybook = _ Workbooks.Open _ ("C:UsersDellDesktopsamplefile.xlsx") mybook.Sheets("mySheet").Copy Before:=Workbooks("Book1.xlsx").Sheets(1) mybook.Close SaveChanges:=True Application.ScreenUpdating = True End Sub

Voeg een reactie toe

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