Werkmap en werkblad

In dit deel behandel ik de functie werkmap en werkblad. Dit is erg handig als je bijvoorbeeld wilt verwijzen naar een cel in een werkmap of op een werkblad.

In VBA worden de functies in het Engels ingevoerd dus heb je de functie Workbook en Worksheet.

Werkblad functies

Cel invullen op het huidige werkblad

Eerst maken we een besturingselement knop aan, als je nog niet weet hoe ontwikkelaars tabblad aan zetten.
In het volgende scherm, Macro toewijzen aan object, kan je op Nieuw klikken.

Hier voeg je de volgende regel in:
Range("A1").Value = "Excelweb"

Je totale VBA code is nu:
Sub Knop1_Klikken()
Range("A1").Value = "Excelweb"
End Sub

Bij het activeren van de knop zal je in cel A1 het woord Excelweb zien verschijnen.

Cel invullen op een ander werkblad

Als je de cel met het woord Excelweb in een ander werkblad wilt invullen dan kun je er een worksheet functie voorzetten. De regel wordt dan:
Worksheets(3).Range("A1").Value = "Excelweb"

Voorbeeld bij de projectverkenner voor het werkblad

Het werkblad kan je op 3 verschillende manieren oproepen. Aan de hand van dit voorbeeld roepen we telkens het blad met de naam Einde op.

Volgorde: Worksheets(3). Let wel op als je de tabbladen in een andere volgorde zet gaat het hier dus niet meer goed.
Werkbladnaam: Worksheets(“Einde”).
Codenaam: Blad3. De codenaam is te zien in de projectverkenner van de VB Editor, zoals in de afbeelding hierlangs, via de eigenschappen kan je ook nog de codenaam veranderen indien gewenst.

Toevoegen

Om een nieuw tabblad toe te voegen kan je de volgende code gebruiken op je bestaande knop van de vorige acties:
Workbooks.Add

Hiermee wordt er vooraan een tabblad toegevoegd.

Aantal tellen

Om het aantal te tellen maken we een MsgBox aan, Eigen MsgBox maken.
Vervang daarom bij de bestaande knop de regel in dit:
MsgBox Worksheets.Count

Uiteraard hebben we, nadat er 1 is toegevoegd, 4 werkbladen. Om het bericht netter te maken, met een tekst voor het aantal, kun je deze regel invoeren:
MsgBox "Het aantal werkbladen is: " & Worksheets.Count

Werkmap functies

Locatie

Om de locatie naar een bestand (het pad) te vinden kunnen we de volgende code aan een knop koppelen:
MsgBox "Het pad naar dit bestand is: " & ActiveWorkbook.FullName

Toevoegen

Voor het toevoegen van een blanco werkmap kan deze code worden gebruikt:
Workbooks.Add

Sluiten

Na het werken in Excel moet de werkmap weer gesloten kunnen worden. Met deze code sluit je de zojuist aangemaakte werkmap, de 2de in de volgorde.
Workbooks(1).Close

Om de actieve werkmap te verwijderen kan je deze code gebruiken:
ActiveWorkbook.Close

Je kan ook snel klaar zijn en in een keer alle werkmappen afsluiten. Gebruik daarvoor deze regel:
Workbooks.Close

Openen

Om met een druk op de knop het scherm Openen te krijgen, kun je de volgende code koppelen aan je knop:
Dim OpenBestand As String
OpenBestand = Application.GetOpenFilename()
Workbooks.Open (OpenBestand)

Werkmap en werkblad functies

Het is ook handig om te weten te komen wat je allemaal open hebt staan. Dat kan je doen met de volgende code:

Dim map As Workbook, blad As Worksheet, text As String
For Each map In Workbooks
text = text & "Deze werkmappen staan open: " & vbNewLine & map.Name & vbNewLine & vbNewLine & "Deze werkbladen zijn er: " & vbNewLine
For Each blad In map.Worksheets
text = text & blad.Name & vbNewLine
Next blad
text = text & vbNewLine
Next map
MsgBox text

Dit is het resultaat:

1 reply on “Werkmap en werkblad”

Leave a Comment

Het e-mailadres wordt niet gepubliceerd.