|
|
|
|
Tips Excel |
|
go to : Index |
|
|
|
|
Tip 154 |
|
|
Deze Tip werd geschreven door mezelf |
|
Randen met één lijntje VBA-code |
|
In deze tip toon ik jullie hoe je met één lijntje VBA-code, alle cellen kunt voorzien van randen.
Eigenlijk is het meer een vergelijk tussen Macro-code en VBA-code, die net hetzelfde doen.
De eerste met 40 lijnen code, de tweede met slechts één lijntje. |
Het voorbeeldbestand kun je hier downloaden. |
|
Als voorbeeld heb ik een lijstje met wat gegevens, en berekeningen. Maar dit maakt niks uit.
De bedoeling is elke cel te voorzien van een bovenrand, een onderrand, een linker- en een rechterrand.
Eerst het voorbeeld met een macro.
Klik de knop "Macro opnemen" (1) in de statusbalk.
Zie je deze niet staan, klik je "Macro's" - "Macro opnemen" onder het tabblad "Beeld".
|
|
|
Dit opent het venster "Macro opnemen".
Geef deze eventueel een naam, een sneltoets, en een beschrijving.
Ik ga het zo simpel mogelijk houden, op deze manier voegt Excel de minste lijnen
toe aan de code.
Klik de knop OK. |
|
|
De opname is gestart, nu gaan we uitvoeren wat we willen bereiken.
Eerst maak ik een selectie van alle cellen dit moeten worden voorzien randen. |
|
|
Vervolgens klik ik het naar benedenwijzend pijltje naast de knop "Rand", en kies "Alle randen" in het pop-upmenu.
Dat is alles wat we willen doen, dus klik de knop "Opname macro stoppen". |
|
|
Al onze cellen zijn nu voorzien van randen. |
|
|
We gaan eens zien welke code dit heeft gegenereerd voor onze macro.
Kies het tabblad "Ontwikkelaars" (1) en klik de knop "Visual Basic" (2). |
|
|
Klik Module1 (1), en de code verschijnt aan de rechterzijde van het venster (2).
Meer dan 40 lijnen code voor een randje rond de cellen. Belachelijk veel.
Je moet je maar eens voorstellen wanneer je document een heleboel macro's heeft.
Hoe lang zal het niet duren voor al deze lijnen code zijn verwerkt. |
|
|
Dit kan veel eenvoudiger.
Het eerste wat we doen is alle code verwijderen tussen Sub en End Sub. |
|
|
Vervolgens verwijderen we eerst de randen in de cellen door de knop "Ongedaan maken" te klikken. |
|
|
Selecteer terug het Visual Basic scherm en typ volgende lijn met code (1) tussen het begin en het einde van de subroutine:
ActiveCell.CurrentRegion.Borders.LineStyle = xlContinuous
Plaats de cursor boven de lijn met code (2), staat die erachter, ja dan wordt die niet uitgevoerd.
Nogal logisch.
En klik de knop "Play"
(3). |
|
|
Voila, al onze cellen zijn met een lijntje code voorzien van randen. |
|
|
Ik probeer de code ActiveCell.CurrentRegion.Borders.LineStyle = xlContinuous even uit te leggen: |
|
ActiveCell = dit is de cel in het Bereik waarin de cursor op dat moment staat. |
CurrentRegion = is het bereik waarin de aktieve cel zich bevindt. De rand van het gebied wordt bepaalt door de lege cellen. |
Borders = de randen (alle randen) |
LineStyle = .xlContinuous = hiermee bepalen we de lijnstijl, dus doorlopend. |
|
Is het nuttig VBA te leren?
Mijn mening:
Maak je sporadisch eens gebruik van een of twee macro's: Neen.
Maak je veel gebruik van verschillende macro's in één en hetzelfde document: Ja. |
|
GratisCursus denkt aan jullie, denk aan GratisCursus |
|
>
|
|
Index |
|
|