abonnement Unibet Coolblue
pi_120416802


Welkom bij Het grote Excel vragentopic waar je terecht kan met vragen over Excel.

In dit topic is het de bedoeling dat we gericht vragen stellen en antwoorden geven op de gestelde vragen. Om alles zo goed mogelijk te laten verlopen zijn er een aantal regels.

Regels
1. Als je een vraag stelt, zet er dan bij welke versie van Excel je hebt en op welke taal hij ingesteld staat.
2. Zet macrocode tussen [ code ] tags
3. Als het pseudo-code is, vermeldt dit dan duidelijk
4. Er bestaan geen domme vragen, wel domme antwoorden. Als jouw antwoord niet gaat bijdragen, geef het antwoord dan niet.
5. Dit topic is geen code-FEBO waar je half opgewarmde code uit de muur trekt, het is de bedoeling dat je er zelf iets van leert.

Definities
Functie Een interne functie die bij Excel is geleverd.
UDF Een user definded function, een zelfgebouwde functie
Macro Een stuk code die opdrachten uitvoert, gebouwd in (meestal) de VBA editor
Add-In Een Excel workbook met VBA-code (of C#, C) die als .xla (of .xll) is opgeslagen, deze is als vaste plug-in in Excel te plaatsen.
Workbook Het excelbestand
Sheet of Worksheet Het tabblad
Form, Formulier, Userform Een Dialoogvenster in VBA gebouwd

Tips & Links
De help functie van excel of visual basic voor excel kan je een eind op weg helpen. (F1)

Het workbook met het FOK!-menu zoals in de banner weergegeven is hier te vinden. Dit menu is naar wens aan te passen. De icoontjes in het menu zijn hier allemaal weergegeven. In dit workbook zijn drie macro's aanwezig:
• Een printertool waarmee je uit meerdere workbooks sheets kan selecteren voor afdrukken
• Een power replace die termen kan wijzigen in meerdere workbooks tegelijk
• Een formule vertaler, de formule in de actieve cel wordt in het engels weergegeven. Je kan ook een engelse formule invoeren die dan in de actieve cel in de geldende taal wordt geplaatst.
De UDF is naar aanleiding van een vraag in topic #29. De functie kan worden aangeroepen door in een cel =FOK() te typen en dan op de Fx te klikken voor uitleg over de variabelen.

De VBA editor bereik je door ALT+F11 in te drukken. Vanaf Excel 2007 is de VBA editor lastiger te vinden. Op deze site wordt uitgelegd hoe je de editor kan activeren.

De interne functies zijn afhankelijk van welke taal jouw Excel draait. Op deze en deze site kun je de formules in verschillende talen vertalen.

Macro uitvoering optimaliseren
De meer uitgebreide macro's kunnen traag worden, ook kan het scherm flikkeren als gevolg van veel "select" acties. Deels kun je dit ondervangen door zo veel mogelijk select acties te vervangen door directe verwijzingen naar cells en deels door een macro-optimalisatie door te voeren. In de onderstaande code is een routine voor macro-optimalisatie en een routine om de optimalisatie weer uit te zetten weergegeven. In de voorbeeld sheet is een uitgebreide versie van MOA en MOU opgenomen.

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Bij macro's die een bepaalde, merkbare, tijd nodig hebben om hun werk te doen is het van belang de gebruiker een idee te geven van wat er gebeurt, zeker met macro-optimalisatie aan kan het lijken alsof Excel is vastgelopen. Je kan bijvoorbeeld de statusbar een waarde geven, met eventueel een percentage van de reeds uitgevoerde code.

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Password kwijt?
Soms heb je een worksheeet beveiligd met een password maar ben je die kwijt. Gelukkig is dat geen groot probleem want de interne beveiliging van Excel stelt niet heel veel voor.
Hier vind je meer info en een downloadbare macro die alle interne passwords verwijdert.

DISCLAIMER: Denk erom dat je met het breken van de beveiliging van een excelsheet mogelijk wet- of regelgeving overtreedt. Als de spreadsheet van jezelf is zou het geen probleem moeten zijn.
In andere gevallen: vraag toestemming aan de originele schrijver.
Bij twijfelgevallen: NIET DOEN


Mooi, grappig en cool
Een uitgebreide site met nuttige en minder nuttige excelsheetjes. Van kekke grafieken om je manager of leraar te betoveren via oscillogrammen en simulatoren tot pong voor als het weer een typische vrijdagmiddag is: Excelunusual

Verder
Alle vorige topics zijn hier terug te vinden.

Nieuw topic? Haal de OP uit de wiki
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  maandag 17 december 2012 @ 15:08:12 #2
62215 qu63
..de tijd drinkt..
pi_120417725
quote:
3s.gif Op maandag 17 december 2012 14:43 schreef Deetch het volgende:
Met een hulpkolom helmaal vooraan (ivm VLOOKUP) zou je een heel eind moeten komen. Hierin zet je de volgende formule:

=(B1)&" #" &COUNTIF($B$1:B1,B1)

De tweede keer dat de tekst "banaan" voorkomt in kolom B komt er in de hulpkolom "banaan #2" te staan.

Op die manier zou je ook de vijfde keer banaan kunnen door een vlookup te doen in de hulp kolom

In D2 zet je de zoeknaam
In D3 de hoeveelste je wilt vinden (1,2 3, etc

Om dan de corresponderende waarde uit kolom C weer te geven:
In D4:=vlookup(D2 & " #" & D3,a1:z100,3)
Dat zou een optie kunnen zijn idd, maar op mijn manier heb ik direct het rijnummer te pakken. Nu handmatig nog even de foutjes er uit slopen en de formule aanpassen :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 19 december 2012 @ 10:27:03 #3
62215 qu63
..de tijd drinkt..
pi_120498944
Zo jammer dat die niet voor 2007 beschikbaar is.. http://www.microsoft.com/en-us/download/details.aspx?id=15011

Weet iemand anders een goed alternatief om toch een fuzzy match te kunnen doen?

-edit-

Gewoon eigenwijs zijn en de plugin alsnog installeren schijnt ook te werken :)

Nu m'n tabellen even optimaliseren en kijken of t ook echt gaat werken :s)

[ Bericht 39% gewijzigd door qu63 op 19-12-2012 11:03:22 ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_120503140
quote:
0s.gif Op woensdag 19 december 2012 10:27 schreef qu63 het volgende:
Zo jammer dat die niet voor 2007 beschikbaar is.. http://www.microsoft.com/en-us/download/details.aspx?id=15011

Weet iemand anders een goed alternatief om toch een fuzzy match te kunnen doen?

-edit-

Gewoon eigenwijs zijn en de plugin alsnog installeren schijnt ook te werken :)

Nu m'n tabellen even optimaliseren en kijken of t ook echt gaat werken :s)
Heb deze plugin ook al een poosje staan om te testen maar nog niet aan toe gekomen.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  woensdag 19 december 2012 @ 12:52:55 #5
62215 qu63
..de tijd drinkt..
pi_120503739
quote:
3s.gif Op woensdag 19 december 2012 12:35 schreef Deetch het volgende:

[..]

Heb deze plugin ook al een poosje staan om te testen maar nog niet aan toe gekomen.
Als ik m'n sheets straks op orde heb ga ik 600 rijen fuzzy matchen met 50.000 rijen.. Op hoop van zege!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_120504498
quote:
0s.gif Op woensdag 19 december 2012 12:52 schreef qu63 het volgende:

[..]

Als ik m'n sheets straks op orde heb ga ik 600 rijen fuzzy matchen met 50.000 rijen.. Op hoop van zege!
brrrr, grote kans op false-postives
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  woensdag 19 december 2012 @ 15:27:16 #7
62215 qu63
..de tijd drinkt..
pi_120509819
quote:
3s.gif Op woensdag 19 december 2012 13:13 schreef Deetch het volgende:

[..]

brrrr, grote kans op false-postives
Jup.. Ik zal wel zien hoe t gaat, hopelijk heb ik t niet nodig en zijn mijn voorbereidingen goed genoeg geweest :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_120520875
Hallo mensen,

Ik heb een mooie spreadsheet gemaakt, maar nu wil ik een (voor mij té) ingewikkelde verschuivingsfunctie daarin verwerken... Alleen hoe?

Laat ik het uitleggen. Ik heb een kolom met waarden. De bedoeling is dat Excel begint met de waarde in de bovenste cel (A1 voor het gemak) en vervolgens het verschil tussen A1 en A2 optelt bij A1. Vervolgens het verschil tussen A2 en A3 optelt bij die vorige waarde. Daarna het verschil tussen A3 en A4 optelt bij de waarde uit de vorige som. En dat dan met een dynamisch bereik (AANTALARG) dus.

Heeft iemand enig idee of Excel dit kan? En zo ja hoe?
Ik heb 2007 NL-versie.
pi_120521871
Waarom niet in een hulpkolom?
A1 bij A1 optellen kan alleen met VBA.
  woensdag 19 december 2012 @ 20:20:14 #10
346939 Janneke141
Green, green grass of home
pi_120521973
Als je het verschil tussen A1 en A2, dus (A2-A1), optelt bij A1, hou je dan niet gewoon A2 over? of mis ik ergens een niet vermelde absolute-waarde?
Opinion is the medium between knowledge and ignorance (Plato)
pi_120522416
quote:
0s.gif Op woensdag 19 december 2012 20:20 schreef Janneke141 het volgende:
Als je het verschil tussen A1 en A2, dus (A2-A1), optelt bij A1, hou je dan niet gewoon A2 over? of mis ik ergens een niet vermelde absolute-waarde?
Ja, dat klopt, geloof ik. Jij bent scherper dan ik. Ehm... maar nu twijfel ik aan mezelf. Volgens mij kan het ook anders (maar dan weet ik nog steeds niet hoe). Als ik steeds het verschil t.o.v. A1 wil zien, kan dat wel? Want dat is wat ik wil, geloof ik: voor elke waarde die ik erbij krijg, een verschilwaarde t.o.v. de eerste zien.
*sorry, ik maak het veel verwarrend*

quote:
Waarom niet in een hulpkolom?
Omdat het een spreadsheet is met 15 kolommen... En dan moet ik dus voor al die kolommen een hulpkolom maken. Weg overzicht ;)
pi_120522751
quote:
0s.gif Op woensdag 19 december 2012 20:25 schreef Pinklady89 het volgende:

[..]

Ja, dat klopt, geloof ik. Jij bent scherper dan ik. Ehm... maar nu twijfel ik aan mezelf. Volgens mij kan het ook anders (maar dan weet ik nog steeds niet hoe). Als ik steeds het verschil t.o.v. A1 wil zien, kan dat wel? Want dat is wat ik wil, geloof ik: voor elke waarde die ik erbij krijg, een verschilwaarde t.o.v. de eerste zien.
*sorry, ik maak het veel verwarrend*

[..]

Omdat het een spreadsheet is met 15 kolommen... En dan moet ik dus voor al die kolommen een hulpkolom maken. Weg overzicht ;)

Dus je moet een hulpkolom hebben.
pi_120523079
quote:
7s.gif Op woensdag 19 december 2012 20:30 schreef DaFan het volgende:

[..]

Dus je moet een hulpkolom hebben.
Oke, ik zie dat ik het weer verkeerd zeg :S Sorry hoor.
Ik wil dus niet voor élke waarde die ik erbij krijg het verschil zien, want dat is hetzelfde als wat ik eerst zei. Ik wil voor de láátste waarde die ik erbij krijg, het verschil zien met A1. Heb ik dan alsnog een hulpkolom nodig?
  woensdag 19 december 2012 @ 20:37:39 #14
346939 Janneke141
Green, green grass of home
pi_120523206
quote:
0s.gif Op woensdag 19 december 2012 20:35 schreef Pinklady89 het volgende:

[..]

Oke, ik zie dat ik het weer verkeerd zeg :S Sorry hoor.
Ik wil dus niet voor élke waarde die ik erbij krijg het verschil zien, want dat is hetzelfde als wat ik eerst zei. Ik wil voor de láátste waarde die ik erbij krijg, het verschil zien met A1. Heb ik dan alsnog een hulpkolom nodig?
OK, even voor mijn beeldvorming: je hebt een kolom waar in A1 t/m A371 allerlei waarden staan, en het enige dat je interessant vindt is A371-A1, en alles er tussenin boeit niet?

Want in dat geval kun je het beste een hulp-rij maken helemaal bovenaan waarin je dat verschil zet. Onderaan kan ook wel, maar alleen als je weet dat de lengte van je rijen aan een zeker maximum gebonden is.
Opinion is the medium between knowledge and ignorance (Plato)
pi_120523224
Ja, in ieder geval een hulpcel, want waar ga je die waarde neerzetten?
Boven A1 is het makkelijkst (dus hulprij bovenaan wat Janneke zegt)
pi_120523805
Ja, jullie hebben gelijk. Hulprij is inderdaad een goed idee.
Dan zit ik alleen nog even te denken.... Hoe maak ik dan die waarde in de hulprij afhankelijk van het aantal A-waarden? Het kan namelijk net zo goed A189 zijn, dat weet ik nu nog niet. Een verschuiving met optellen maken, kan ik. Maar hoe doe ik dat met aftrekken?
  woensdag 19 december 2012 @ 20:50:40 #17
346939 Janneke141
Green, green grass of home
pi_120523945
quote:
0s.gif Op woensdag 19 december 2012 20:47 schreef Pinklady89 het volgende:
Ja, jullie hebben gelijk. Hulprij is inderdaad een goed idee.
Dan zit ik alleen nog even te denken.... Hoe maak ik dan die waarde in de hulprij afhankelijk van het aantal A-waarden? Het kan namelijk net zo goed A189 zijn, dat weet ik nu nog niet. Een verschuiving met optellen maken, kan ik. Maar hoe doe ik dat met aftrekken?
Ja, die zag ik al aankomen.

De waarde van de laatste cel krijg je door =INDIRECT("A"&AANTALARG(A2:A99999))
Opinion is the medium between knowledge and ignorance (Plato)
pi_120524693
quote:
0s.gif Op woensdag 19 december 2012 20:50 schreef Janneke141 het volgende:

[..]

Ja, die zag ik al aankomen.

De waarde van de laatste cel krijg je door =INDIRECT("A"&AANTALARG(A2:A99999))
Dank je wel. Nog één vraagje... Hij pakt met dit hierboven niet de laatste, maar de één na laatste cel als ik 'm voor het proberen even in een nieuwe spreadsheet plak... Hoe pakt 'ie de laatste?
  woensdag 19 december 2012 @ 21:07:50 #19
346939 Janneke141
Green, green grass of home
pi_120524792
quote:
0s.gif Op woensdag 19 december 2012 21:06 schreef Pinklady89 het volgende:

[..]

Dank je wel. Nog één vraagje... Hij pakt met dit hierboven niet de laatste, maar de één na laatste cel als ik 'm voor het proberen even in een nieuwe spreadsheet plak... Hoe pakt 'ie de laatste?
Hmm, je hebt gelijk, even slecht opgelet

Deze moet het dan wel doen:
=INDIRECT("A"&AANTALARG(A2:A99999)+1)
Opinion is the medium between knowledge and ignorance (Plato)
pi_120524956
quote:
0s.gif Op woensdag 19 december 2012 21:07 schreef Janneke141 het volgende:

[..]

Hmm, je hebt gelijk, even slecht opgelet

Deze moet het dan wel doen:
=INDIRECT("A"&AANTALARG(A2:A99999)+1)
Super! Hij doet het inderdaad. Hartstikke bedankt!
  donderdag 20 december 2012 @ 14:54:07 #21
62215 qu63
..de tijd drinkt..
pi_120552352
Uiteindelijk geen fuzzy search nodig gehad, wel deze mooie handleiding gevonden: http://www.k2e.com/tech-u(...)zzy-lookups-in-excel
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_120553228
quote:
0s.gif Op woensdag 19 december 2012 21:11 schreef Pinklady89 het volgende:

[..]

Super! Hij doet het inderdaad. Hartstikke bedankt!
Denk erom dat deze functie niet goed werkt als er lege cellen in je kolom A staan. Dit omdat AANTALARG deze niet meetelt.

Op een andere site vond ik onderstaande functie die altijd de onderste celwaarde vind, ook als er lege plekken in de kolom zijn.

=ZOEKEN(2;1/(A2:A99999<>"");A2:A99999)
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  donderdag 20 december 2012 @ 15:48:46 #23
62215 qu63
..de tijd drinkt..
pi_120554364
quote:
3s.gif Op donderdag 20 december 2012 15:20 schreef Deetch het volgende:

[..]

Denk erom dat deze functie niet goed werkt als er lege cellen in je kolom A staan. Dit omdat AANTALARG deze niet meetelt.

Op een andere site vond ik onderstaande functie die altijd de onderste celwaarde vind, ook als er lege plekken in de kolom zijn.

=ZOEKEN(2;1/(A2:A99999<>"");A2:A99999)
En voor een laatste cel in een rij gebruik je deze:
=ZOEKEN(2;1/(1-ISLEEG(1:1));1:1)
bron: http://xldynamic.com/source/xld.LastValue.html#S012
(wat ook eigenlijk de originele bron van Deetch' formule is)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  vrijdag 21 december 2012 @ 12:21:14 #24
62215 qu63
..de tijd drinkt..
pi_120592867
quote:
0s.gif Op woensdag 19 december 2012 10:27 schreef qu63 het volgende:
Zo jammer dat die niet voor 2007 beschikbaar is.. http://www.microsoft.com/en-us/download/details.aspx?id=15011

Weet iemand anders een goed alternatief om toch een fuzzy match te kunnen doen?

-edit-

Gewoon eigenwijs zijn en de plugin alsnog installeren schijnt ook te werken :)

Nu m'n tabellen even optimaliseren en kijken of t ook echt gaat werken :s)
Heb em nu al bijna 2 uur draaien en de sheet lijkt vast te zijn gelopen.. -O-
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_120593044
Ik wil een draaitabel maken op basis van een kolom waarin een datum staat. De celeigenschappen van die kolom zijn 'dddd' opgemaakt. Dus je ziet alleen de dag. Ik wil namelijk zien of er op bepaalde dagen meer activiteit is dan op andere dagen. Het werkt alleen niet want bij het maken van de draaitabel kijkt Excel naar de hele datum en aggregeert Excel de dagen niet. Iemand een idee hoe dat op te lossen?
Aldus.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')