MS Excel - Worksheet

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

Top

De 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