De wielrenners in de Tour de France hebben weer goed hun best gedaan. Sommige renners hebben een etappe gewonnen maar andere renners hebben meer dan 1 etappe gewonnen. Welke renners zijn dat? Ze staan in kolom D. Hiervoor is een ingewikkelde formule gebruikt en die plaats je in D2:
Dit is een zogenaamde array formule, invoeren met: Ctrl+Shift+Enter,NIET alleen Enter. Als je dit goed hebt gedaan, plaatst Excel accolades om de formule { }.
Let op: Plaats die accolades { } niet handmatig. Doorvoeren naar beneden
Best een moeilijke klus. In de kolommen A, C, E, G staan de Id’s van de verkopers. In de kolommen B, D, F, H staan de verkoopcijfers. Je wil de verkoopcijfers van elke Id (verkoper) optellen. Natuurlijk is er een probleem, de Id’s en verkoopcijfers kunnen telkens veranderen.
Ten eerste voeg je onderstaande code toe:
1. Kopieer de onderstaande code middels Ctrl + C 2. Druk op de toetscombinatie ALT + F11 om de Visual Basic Editor te openen 3. Druk op de toetscombinatie ALT + N om het menu Invoegen te openen 4. Druk op M om een standaard module in te voegen 5. Daar waar de cursor knippert voeg je de code in middels Ctrl + V
' Ref: TinyURL.com - shorten that long URL into a tiny URL
DimTempUnion()AsVariant
DimiAsLong,Itm AsVariant,Ctr AsLong
Fori=LBound(Arg)ToUBound(Arg)
Arg(i)=Arg(i)
IfIsArray(Arg(i))Then
ForEachItm InArg(i)
Ctr=Ctr+1
ReDimPreserveTempUnion(1ToCtr)AsVariant
TempUnion(Ctr)=Itm
NextItm
Else
Ctr=Ctr+1
ReDimPreserveTempUnion(1ToCtr)AsVariant
TempUnion(Ctr)=Arg(i)
EndIf
Nexti
ArrayUnion=TempUnion
EndFunction
Vervolgens heb je de volgende formules nodig. Eerst maak je 2 benoemde bereiken. Ga naar: Formulas | Name manager | New en geef de naam Ivec. Vervolgens: In het vak Refers to zet je de volgende
Dit is een zogenaamde array formule, invoeren met: Ctrl+Shift+Enter, NIET alleen Enter. Als je dit goed hebt gedaan, plaatst Excel accolades om de formule { }. Let op: Plaats die accolades { } niet handmatig.
Dit is een zogenaamde array formule, invoeren met: Ctrl+Shift+Enter, NIET alleen Enter. Als je dit goed hebt gedaan, plaatst Excel accolades om de formule { }. Let op: Plaats die accolades { } niet handmatig.
Doorvoeren naar beneden.
In K3:
=SUMIFS(B:H;A:G;J3)
(Dit is GEEN array formule, dus gewoon invoeren met alleen Enter). Doorvoeren naar beneden
Op Sheet1 staan medewerkers in Kolom A. In Kolom B datums en in Kolom C staan bedragen. In Kolom A kan de naam van dezelfde medewerker meerdere keren voorkomen.
Op Sheet2 willen we de medewerker met het hoogste totaalbedrag weergeven en vervolgens de tweede medewerker etc. Een soort van Top 10 zeg maar. Bovendien geldt er een datum limiet. Bijvoorbeeld alleen resultaten ophalen tussen 29-1-2006 en 11-3-2006
Op Sheet1 staan de namen van verkopers in Kolom C en in Kolom D staan bedragen. In Kolom C kan de naam van dezelfde medewerker meerdere keren voorkomen.
Op Sheet2 willen we de verkoper met het hoogste totaalbedrag weergeven en vervolgens de tweede verkoper etc. Een soort van Top 10 zeg maar. Bovendien geldt een criterium, we tellen alleen de bedragen waarvan in kolom E “Sold” staat.
Sheet1
Sheet2
De formules moet je invoeren met Ctrl+Shift+Enter (niet alleen Enter)
We hebben een tabel zoals je in onderstaande afbeelding ziet. We willen dezelfde producten optellen en vermenigvuldigen. Bijvoorbeeld het aantal fusten “Rhönbräu Klosterbier” * het aantal items (liters in dit geval omdat voor fusten de eenheid liters geldt). We hebben in totaal 48 fusten “Rhönbräu Klosterbier”. In een aantal fusten zit 15 liter en in andere fusten zit 12 liter. In totaal maakt dat 648 liter “Rhönbräu Klosterbier
Een onderstrepingsteken “_” wordt doorgaans wordt gebruikt in een VBA-coderegel.
Een underscore (wordt ALTIJD direct voorafgegaan door een spatie) in een VBA-coderegel geeft aan dat de huidige instructie doorgaat op de volgende regel. Omdat VBA geen tekstterugloop heeft, wordt het gebruikt om een enkele regel code over twee regels te verdelen, om de code leesbaarder te maken.
Dus in plaats van dit:
Visual Basic
1
2
3
Sub-Macro1()
Msgbox"Een underscore (wordt ALTIJD direct voorafgegaan door een spatie) in een VBA-coderegel geeft aan dat de huidige instructie doorgaat op de volgende regel."
Einde sub
Kunnen we dit schrijven:
Visual Basic
1
2
3
4
5
Sub-Macro1()
Msgbox"Een underscore (wordt ALTIJD direct voorafgegaan door een spatie)"_
&"en geeft in een VBA-coderegel aan dat de"_
&"huidige instructie doorgaat op de volgende regel."
Gegevens in één cel splitsen en weergeven per cel. In Kolom A en B staan gegevens. Er staan telkens twee namen in één cel bijvoorbeeld in A2 . In B2 staan twee steden. Zie afbeelding.
1. Kopieer de onderstaande code middels Ctrl + C 2. Druk op de toetscombinatie ALT + F11 om de Visual Basic Editor te openen 3. Druk op de toetscombinatie ALT + N om het menu Invoegen te openen 4. Druk op M om een standaard module in te voegen 5. Daar waar de cursor knippert voeg je de code in middels Ctrl + V 6. Druk op de toetscombinatie ALT + Q om de Editor af te sluiten en terug te keren naar Excel 7. Druk op de toetscombinatie ALT + F8 om de Macro Dialoog te tonen. Dubbelklik op de macro naam om te starten
Met behulp van VBA code 8 tekens vanaf de linkerkant van een tekenreeks verwijderen. Tekenreeksen staan in kolom A.
Je moet wel opletten want een cijfer als 02 kapt Excel af en toont dat als 2. Hierdoor wordt de tekenreeks “AFT5985602” weergegeven als 2. Er zijn in dat geval 9 cijfers weggelaten. Daarom moet je de 2 aan het einde van de code niet veranderen
In Kolom A namen van Employees waarbij dezelfde naam meerdere keren kan voorkomen. In Kolom B namen van Customers. Dezelfde Employee kan meerdere Customers hebben. Dat wil je weergeven vanaf cel A26. Zie afbeelding.
1. Kopieer de onderstaande code middels Ctrl + C. 2. Druk op de toetscombinatie ALT + F11 om de Visual Basic Editor te openen 3. Druk op de toetscombinatie ALT + N om het menu Invoegen te openen 4. Druk op M om een standaard module in te voegen 5. Daar waar de cursor knippert voeg je de code in middels Ctrl + V 6. Druk op de toetscombinatie ALT + Q om de Editor af te sluiten en terug te keren naar Excel.
Dit is een zogenaamde array formule, invoeren met: Ctrl+Shift+Enter, NIET alleen Enter. Als je dit goed hebt gedaan, plaatst Excel accolades om de formule { }.
Let op: Plaats die accolades { } niet handmatig Doorvoeren naar beneden.