De Copy methode
Deze heeft twee mogelijke argumenten :=Before of :=After, waarvan slechts één mag gebruikt worden. Indien geen van beide argumenten wordt gebruikt zal Excel het werkblad copiëren in een nieuw Werkboek
Public Sub sCopieerWerkboek()
Dim wsh As Excel.Worksheet
Set wsh = ThisWorkbook.Worksheets("Sheet1")
wsh.Copy After:=ThisWorkbook.Worksheets("NaamRange")
ActiveSheet.Name = "Sheet1_bis" Geef het gecopieërde werkblad een andere naam.
End Sub
Before/After argument wordt niet opgegeven, Werkblad wordt gecopieërd in nieuw werkboek.
Public Sub sBewaarAlsWerkboek()
Dim wrkBron As Excel.Workbook
Dim wsh As Excel.Worksheet
Dim strPad As String
Dim strPadNaam As String
Set wrkBron = ThisWorkbook
strPad = ThisWorkbook.Path
Set wsh = wrkBron.Worksheets("sheet2")
wsh.Copy
strPadNaam = strPad & "\Blad2.xlsx"
ActiveWorkbook.SaveAs strPadNaam
ActiveWorkbook.Close
End Sub
Top
De Delete methode
Deze methode verwijdert een werkblad, Syntax Werkblad.Delete
TopDe Move methode
Deze methode verplaatst een werkblad binnen het zelfde werkboek, met de
mogelijke argumenten Before:= of After:=
Gebruikmakend van deze methode kan met de werkbladen alfabetisch
rangschikken.
Public Sub sSorteerWerkbladen()
Dim intAantal As Integer
Dim aReeks() As String
Dim wsh As Excel.Worksheet
Dim wshTemp As Excel.Worksheet
Dim intDum As Integer
intAantal = ThisWorkbook.Worksheets.Count
intDum = 0
ReDim aReeks(intAantal)
'de namen van de werkbladen invoegen in de Array aReeks()
For Each wsh In ThisWorkbook.Worksheets
aReeks(intDum) = wsh.Name
intDum = intDum + 1
Next
'tijdelijk werkblad toevoegen aan het tijdelijk werkboek de eerste kolom vullen met de namen en deze sorteren
Set wshTemp = ThisWorkbook.Worksheets.Add
For intDum = 0 To intAantal - 1
wshTemp.Cells(intDum + 1, 1).Value = aReeks(intDum)
Next
wshTemp.Columns(1).Sort Key1:=wshTemp.Columns(1), Order1:=xlAscending
'de gesorteerde namen opnieuw invoegen in de Array aReeks()
For intDum = 0 To intAantal - 1
aReeks(intDum) = wshTemp.Cells(intDum + 1, 1)
Next
'het tijdelijk werkblad verwijderen
Application.DisplayAlerts = False
wshTemp.Delete
Application.DisplayAlerts = True
'Ieder werkblad naar het einde verplaatsen >
For intDum = 0 To intAantal - 1
ThisWorkbook.Worksheets(aReeks(intDum)).Move After:=ThisWorkbook.Worksheets(intAantal)
Next
End Sub
Top
hallo