Huis Sociale Media Excel 2016 VBA Snelheidstips - dummies

Excel 2016 VBA Snelheidstips - dummies

Inhoudsopgave:

Video: Excel 2016 VBA Beginner Tutorial - Introduction to Macros & VBA 2024

Video: Excel 2016 VBA Beginner Tutorial - Introduction to Macros & VBA 2024
Anonim

VBA voor Excel 2016 is snel, maar het is niet altijd snel genoeg. (Computerprogramma's zijn nooit snel genoeg.) Blijf lezen om een ​​aantal programmeervoorbeelden te ontdekken die u kunt gebruiken om uw macro's te versnellen.

Schermupdate uitschakelen

Wanneer u een macro uitvoert, kunt u achterover leunen en alle acties op het scherm in de macro bekijken. Hoewel dit heel leerzaam kan zijn, is het vaak irritant nadat je de macro goed hebt laten werken en de prestaties van je macro aanzienlijk kunnen vertragen. Gelukkig kunt u de schermbijwerking uitschakelen die normaal optreedt wanneer u een macro uitvoert. Om het updaten van het scherm uit te schakelen, gebruikt u de volgende verklaring:

Application. ScreenUpdating = False

Als u wilt dat de gebruiker op elk moment tijdens de macro ziet wat er gebeurt, gebruikt u de volgende verklaring om de schermbijwerking weer in te schakelen:

Toepassing. ScreenUpdating = True

Om het snelheidsverschil te demonstreren, voert u deze eenvoudige macro uit, die een bereik met getallen vult:

Sub FillRange () Dim r als Long, c As Long Dim Number as Long Number = 0 For r = 1 tot 50 Voor c = 1 Tot 50 Aantal = Aantal + 1 Cellen (r, c). Selecteer Cellen (r, c). Waarde = Nummer Volgende c Volgende r Einde Sub

U ziet dat elke cel wordt geselecteerd en de waarde wordt ingevoerd in de cellen. Plaats nu de volgende verklaring aan het begin van de procedure en voer deze opnieuw uit:

Application. ScreenUpdating = False

Het bereik wordt veel sneller ingevuld en u ziet het resultaat pas nadat de macro is voltooid en het bijwerken van het scherm (automatisch) is ingesteld op True.

Wanneer u code foutopsporing uitvoert, eindigt het programma soms ergens in het midden zonder dat u de functie Schermupdate opnieuw hebt ingeschakeld. Dit zorgt er soms voor dat het applicatievenster van Excel totaal niet meer reageert. De uitweg uit deze bevroren toestand is eenvoudig: ga terug naar de VBE en voer de volgende verklaring uit in het venster Onmiddellijk:

Application. ScreenUpdating = True

Automatische berekening uitschakelen

Als u een werkblad met veel complexe formules heeft, zult u merken dat u de dingen aanzienlijk kunt versnellen door de berekeningsmodus in te stellen op handmatig terwijl uw macro wordt uitgevoerd. Wanneer de macro is voltooid, stelt u de berekeningsmodus opnieuw in op automatisch.

De volgende instructie stelt de Excel-berekeningsmodus in op handmatig:

Toepassing. Berekening = xlCalculationManual

Voer de volgende instructie uit om de berekeningsmodus in te stellen op automatisch:

Toepassing. Berekening = xlCalculationAutomatic

Als uw code cellen gebruikt met formuleresultaten, betekent het uitschakelen van de berekening dat de cellen niet opnieuw worden berekend, tenzij u Excel expliciet opdracht geeft dit te doen!

Die vervelende waarschuwingsberichten elimineren

Zoals u weet, kan een macro automatisch een reeks acties uitvoeren. In veel gevallen kunt u een macro starten en vervolgens in de pauzeruimte rondhangen terwijl Excel zijn ding doet. Sommige Excel-bewerkingen geven echter berichten weer die een menselijk antwoord vereisen. Dit soort berichten betekent dat je Excel niet onbeheerd kunt laten terwijl het je macro uitvoert - tenzij je de geheime truc kent.

U kunt Excel opdracht geven om dit soort waarschuwingen niet weer te geven tijdens het uitvoeren van een macro.

De geheime truc om deze waarschuwingsberichten te vermijden is het invoegen van de volgende VBA-instructie in uw macro:

toepassing. DisplayAlerts = False

Excel voert de standaardbewerking uit voor dit soort berichten. In het geval van het verwijderen van een blad, is de standaardbewerking Verwijderen. Als u niet zeker weet wat de standaardbewerking is, voert u een test uit om te zien wat er gebeurt.

Wanneer de procedure is voltooid, stelt Excel de eigenschap DisplayAlerts automatisch in op True. Als u de meldingen weer moet inschakelen voordat de procedure is voltooid, gebruikt u deze verklaring:

Toepassing. DisplayAlerts = True

Vereenvoudig objectreferenties

Zoals u waarschijnlijk al weet, kunnen verwijzingen naar objecten erg lang duren. Een volledig gekwalificeerde verwijzing naar een bereikobject kan er bijvoorbeeld als volgt uitzien:

werkmappen ("MyBook. Xlsx"). Werkbladen ("Sheet1") _. Bereik ("InterestRate")

Als uw macro dit bereik vaak gebruikt, wilt u misschien een objectvariabele maken met behulp van de opdracht Set. Met de volgende instructie wordt dit bereikobject bijvoorbeeld toegewezen aan een objectvariabele met de naam Rate:

Set Rate = Workbooks ("MyBook. Xlsx") _. Worksheets (“Sheet1”). Bereik ("Interest Rate")

Nadat u deze objectvariabele hebt gedefinieerd, kunt u de variabele Rate gebruiken in plaats van de lange referentie. U kunt bijvoorbeeld de waarde van de cel met de naam InterestRate wijzigen:

Rate. Waarde =. 085

Dit is veel gemakkelijker te typen dan de volgende verklaring:

Werkmappen ("MyBook. Xlsx"). Worksheets (“Sheet1”). _ Bereik ("InterestRate") =. 085

Naast het vereenvoudigen van uw codering versnelt het gebruik van objectvariabelen uw macro's aanzienlijk.

Variabele types declareren

U hoeft zich over het algemeen geen zorgen te maken over het type gegevens dat u toewijst aan een variabele. Excel verwerkt alle details achter de schermen voor u. Als u bijvoorbeeld een variabele met de naam MyVar hebt, kunt u een nummer van elk type aan die variabele toewijzen. U kunt er later in de procedure zelfs een tekstreeks aan toewijzen.

Als u wilt dat uw procedures zo snel mogelijk worden uitgevoerd, vertel dan aan Excel welk type gegevens aan elk van uw variabelen wordt toegewezen. Dit staat bekend als waarbij het type van een variabele wordt aangegeven .

Over het algemeen moet u het gegevenstype gebruiken dat het kleinste aantal bytes vereist, maar toch alle gegevens kan verwerken die eraan zijn toegewezen. Wanneer VBA met gegevens werkt, is de uitvoersnelheid afhankelijk van het aantal bytes dat VBA tot zijn beschikking heeft. Met andere woorden, hoe minder bytes-gegevens worden gebruikt, hoe sneller VBA toegang heeft tot de gegevens en deze kan manipuleren.Een uitzondering hierop is het gegevenstype Integer. Als snelheid kritiek is, gebruikt u in plaats hiervan het lange gegevenstype.

Als u een objectvariabele gebruikt, kunt u de variabele als een specifiek objecttype declareren. Hier is een voorbeeld:

Dim Rate als Range Set Rate = Workbooks ("MyBook. Xlsx") _. Worksheets (“Sheet1”). Bereik ("InterestRate")

De With-End With-structuur gebruiken

Moet u een aantal eigenschappen voor een object instellen? Uw code werkt sneller als u de With-End With-structuur gebruikt. Een bijkomend voordeel is dat uw code mogelijk gemakkelijker te lezen is.

De volgende code gebruikt With-end with:

niet. HorizontalAlignment = xlCenter Selection. VerticalAlignment = xlCenter Selection. WrapText = echte selectie. Oriëntatie = 0 Selectie. ShrinkToFit = False Selection. MergeCells = False

Hier is dezelfde code, herschreven om With-End With:

met selectie te gebruiken. HorizontalAlignment = xlCenter. VerticalAlignment = xlCenter. WrapText = True. Oriëntatie = 0. ShrinkToFit = False. MergeCells = False End met

Wanneer u With-End With gebruikt, moet u ervoor zorgen dat elke instructie begint met een punt.

Excel 2016 VBA Snelheidstips - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...