Veel van mijn collega's besteden veel tijd aan het maken van een samenvattingswerkblad in Excel.
Een typisch samenvattend werkblad heeft de namen van alle werkbladen in verschillende cellen en alle namen zijn ook gekoppeld aan deze werkbladen.
U kunt dus klikken op een cel met een bladnaam (zeg maar jan, feb, maart… ) en u gaat naar dat werkblad. Bovendien is er ook een hyperlink op elk werkblad die teruglinkt naar het samenvattingswerkblad.
Hoewel mijn collega's hierin superefficiënt zijn geworden, is het nog steeds tijdverspilling als je hetzelfde in minder dan een seconde kunt doen (ja je leest het goed).
De truc is om een korte macro te maken die het voor je doet.
Het maakt niet uit hoeveel werkbladen u heeft, het zal onmiddellijk een samenvattend werkblad maken met werkende hyperlinks.
Iets zoals hieronder weergegeven:
Zoals u in de bovenstaande afbeelding kunt zien, wordt er onmiddellijk een samenvatting gemaakt wanneer u de macro uitvoert (door op de knop te klikken). De bladnamen zijn voorzien van hyperlinks die u naar het werkblad brengen wanneer u erop klikt.
Samenvattend werkblad maken met hyperlinks
Al het zware werk bij het maken van het samenvattende werkblad wordt gedaan door een korte VBA-code. Je hoeft alleen maar de code uit te voeren en een pauze te nemen, want je zou nu wat vrije tijd hebben 🙂
Hier is de code:
Sub CreateSummary() 'Gemaakt door Sumit Bansal van trumpexcel.com 'Deze code kan worden gebruikt om een samenvattend werkblad met hyperlinks te maken Dim x As Worksheet Dim Counter As Integer Counter = 0 For Each x In Worksheets Counter = Counter + 1 If Counter = 1 Ga dan naar Donothing met ActiveCell .Value = x.Name .Hyperlinks.Add ActiveCell, "", x.Name & "!A1", TextToDisplay:=x.Name, ScreenTip:="Klik hier om naar het werkblad te gaan" met werkbladen (Teller) .Range("A1").Value = "Terug naar " & ActiveSheet.Name .Hyperlinks.Add Sheets(x.Name).Range("A1"), "", _ "'" & ActiveSheet.Name & "'" & "!" & ActiveCell.Address, _ ScreenTip:="Terug naar " & ActiveSheet.Name End With End With ActiveCell.Offset(1, 0).Selecteer Donothing: Next x End Sub
Waar plaats je deze code?
Volg de onderstaande stappen om deze code in de werkmap te plaatsen:
- Ga naar het tabblad Ontwikkelaars en klik op Visual Basic. U kunt ook de sneltoets gebruiken - ALT F11.
- Als u het ontwikkelaarstabblad in het lint in Excel kunt vinden, klik dan hier om te weten hoe u het kunt krijgen.
- Als u het ontwikkelaarstabblad in het lint in Excel kunt vinden, klik dan hier om te weten hoe u het kunt krijgen.
- Er zou een deelvenster Projectverkenner aan de linkerkant moeten zijn (als het er niet is, gebruik dan Control + R om het zichtbaar te maken).
- Ga naar Invoegen en klik in module. Hiermee wordt een module aan de werkmap toegevoegd. Ook zou je aan de rechterkant het codevenster zien verschijnen (met een knipperende cursor).
- Kopieer en plak de bovenstaande code in het modulecodevenster.
De code uitvoeren
Om deze code uit te voeren:
- Ga naar het tabblad Ontwikkelaar -> Code -> Macro's. Hierdoor wordt het dialoogvenster Macrodialoog geopend.
- Selecteer de Macro CreateSummary en klik op Uitvoeren.
- Hierdoor wordt de macro uitgevoerd en worden de hyperlinks in het actieve blad gemaakt.
Een andere manier om de macro uit te voeren is door een knop/vorm in te voegen en de macro eraan toe te wijzen. Om dit te doen:
- Voeg een vorm in het werkblad in. Formatteer de vorm zoals u dat wilt.
- Klik er met de rechtermuisknop op en selecteer Macro toewijzen.
- Selecteer in het vak Macro toewijzen de macro die u aan de vorm wilt toewijzen en klik op OK.
Nu kunt u eenvoudig op de vorm klikken om de macro uit te voeren.
Download het bestand van hier
Opmerking:
- Ik heb de cel A1 in elk blad hard gecodeerd, die een hyperlink bevat om u terug te brengen naar het overzichtsblad. Zorg ervoor dat u het dienovereenkomstig wijzigt als u al iets in de A1-cel op elk blad hebt staan.
- De samenvatting maakt geen hyperlink voor zichzelf (wat logisch is omdat je al op dat blad staat).
- Voer deze code uit wanneer het Samenvattingswerkblad het actieve werkblad is.
- Misschien wilt u wat opmaak of herschikking toevoegen. Maar ik hoop dat deze code voor het moeilijke deel zorgt.
- Sla deze werkmap op als .xls- of .xlsm-extensie, omdat deze een macro bevat.
Andere Excel VBA-zelfstudies:
- Krijg meerdere opzoekwaarden zonder herhaling in een enkele cel.
- Taakprioriteringsmatrix - VBA-toepassing.
- Meerdere werkmappen combineren in één Excel-werkmap
- Excel VBA-loops - voor volgende, doe terwijl, doe tot, voor elk (met voorbeelden).
- Een macro opnemen in - Een stapsgewijze handleiding.
- Snel hyperlinks verwijderen uit een werkblad in Excel
- Online Excel VBA-cursus.