abonnement Unibet Coolblue
pi_110988530


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 meerder workbooks sheets kan selecteren voo afdrukken, een power replace die termen kan wijzigen in meerdere workbooks tegelijk en een formule vertaler, de formule in de actieve cell wordt in het engels weergegeven, je kan ook een engelse formule invoeren die dan in de actieve cell 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.

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.
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

[ Bericht 1% gewijzigd door Deetch op 01-05-2012 12:59:37 ]
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
  dinsdag 1 mei 2012 @ 11:46:43 #2
62215 qu63
..de tijd drinkt..
pi_110990446
quote:
3s.gif Op dinsdag 1 mei 2012 10:22 schreef Deetch het volgende:
coole website die excelunusual. Ik heb zelf al een poosje een excelsheet met allemaal thermometer grafieken, ook leuk voor managementplaatjes.
Dan ga ik die maar eens checken! Het wordt weer eens tijd voor een leuk maar volkomen nutteloos Excel-sheetje :P

-edit- In de categorie zinloos maar cool, een 3D Flight Simulator! :D http://excelunusual.com/a(...)lator-video-preview/

Of Pong! WTF! http://excelunusual.com/a(...)-2003-video-preview/
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  dinsdag 1 mei 2012 @ 11:53:51 #3
62215 qu63
..de tijd drinkt..
pi_110990719
WTF! Dat Excelunusual.com is echt gaaf! _O-
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_110992484
mooi om de komkommertijd mee te vullen
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
  dinsdag 1 mei 2012 @ 13:24:08 #5
138547 VASND
Happen naar het baasje
pi_110993585
ff een vraagje.

Ik heb een lijst uitslagen van een studentensportevenement in deze vorm:

1
2
3
4
5
Groningen 1  10 punten
Nijmegen 1    8 punten
Eindhoven 2   6 punten 
Groningen 2   4 punten
Amsterdam 1   2 punten

En nu wil ik er voor zorgen dat alléén de hoogst gerankte teams per stad punten krijgen, maar ze moeten wel de punten van degenen onder hun 'weg kunnen pakken'. (dus plaats 4 krijgt in dit voorbeeld geen punten maar zorgt er wel voor dat 5 er maar 2 heeft). Hoe doe ik dit het makkelijkste?
Uiteindelijk heb ik een stuk of 10 uitslagenlijsten waarvan de punten opgeteld moeten worden per stad tot een eindklassement.
-|||---ᕙ(⇀‸↼‶)ᕗ---|||-
[b]Op woensdag 28 juli 2010 23:05 schreef Dromenvangertje het volgende:[/b]
het zou mij een eer zijn om alles voor u te doen wat uw hartje begeert.
pi_110995819
Alleen het hoogst geplaatste team van een stad krijgt dus punten. Dat is dan toch niet eerlijk als je met je groningen 2 team 2x boven groningen 1 komt dan ben je dus als groningen 1 in hte nadeel. of is er ook een team ranking?

Ik zou in ieder geval overald de "punten" weglaten zodat je alleen cijfers hebt.

Kolom A1 en verder, teamnamen incl volgnummer
Kolom B score (aflopend gesorteerd)
Nieuwe kolom C: geschoonde namen =LEFT(A1,LEN(A1)-2)
Nieuwe kolom D, geschoonde punten
Cel D1: =B1
Cel D2 en verder =IF(ISERROR(VLOOKUP(C2,$C$1:C1,1,FALSE)),B2,0)

Optellen per stad:
=SUMIF(C1:C5,"groningen",D1:D5)
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
  dinsdag 1 mei 2012 @ 15:37:02 #7
138547 VASND
Happen naar het baasje
pi_110998393
quote:
3s.gif Op dinsdag 1 mei 2012 14:34 schreef Deetch het volgende:
Alleen het hoogst geplaatste team van een stad krijgt dus punten. Dat is dan toch niet eerlijk als je met je groningen 2 team 2x boven groningen 1 komt dan ben je dus als groningen 1 in hte nadeel. of is er ook een team ranking?

Ik zou in ieder geval overald de "punten" weglaten zodat je alleen cijfers hebt.

Kolom A1 en verder, teamnamen incl volgnummer
Kolom B score (aflopend gesorteerd)
Nieuwe kolom C: geschoonde namen =LEFT(A1,LEN(A1)-2)
Nieuwe kolom D, geschoonde punten
Cel D1: =B1
Cel D2 en verder =IF(ISERROR(VLOOKUP(C2,$C$1:C1,1,FALSE)),B2,0)

Optellen per stad:
=SUMIF(C1:C5,"groningen",D1:D5)
Top!
In de praktijk komen deelnemers per stad, onderverdeeld in verschillende teams. Ze werken dus naar een overwinning voor hun stad toe, niet per sé individueel. (voor de beeldvorming, het gaat hier over 11 steden).
Om de grootte van de afvaardiging (soms verschillen van 200 vs 50) minder invloedrijk te maken is er voor deze methode gekozen.

Zeer bedankt, hier kan ik weer even mee verder!
-|||---ᕙ(⇀‸↼‶)ᕗ---|||-
[b]Op woensdag 28 juli 2010 23:05 schreef Dromenvangertje het volgende:[/b]
het zou mij een eer zijn om alles voor u te doen wat uw hartje begeert.
  dinsdag 1 mei 2012 @ 15:38:35 #8
373015 Erkannn
IkBenZoVrolijk
pi_110998461
quote:
10s.gif Op dinsdag 1 mei 2012 11:53 schreef qu63 het volgende:
WTF! Dat Excelunusual.com is echt gaaf! _O-
Lachen he :P
"Gravitation is not responsible for people falling in love."
pi_111027449
quote:
14s.gif Op dinsdag 1 mei 2012 15:37 schreef VASND het volgende:

[..]

Top!
In de praktijk komen deelnemers per stad, onderverdeeld in verschillende teams. Ze werken dus naar een overwinning voor hun stad toe, niet per sé individueel. (voor de beeldvorming, het gaat hier over 11 steden).
Om de grootte van de afvaardiging (soms verschillen van 200 vs 50) minder invloedrijk te maken is er voor deze methode gekozen.

Zeer bedankt, hier kan ik weer even mee verder!
Oh ja, nog even een opmerking voor de functie van de geschoonde namen. Dit gaat dus alleen goed als de teamnamen minus de laatste 2 tekens alleen voor de zelfde stad hetzelfde zijn.
Dus "groningen 1" en "groningen 2" gaat goed maar "amsterdam" en "amsterdom" gaat dus mis omdat de geschoonde naam dan in beide gevallen "amsterd" is
Ook "Utrecht 1" en "Utrecht 21" gaat mis omdat de geschoonde namen dan "Utrecht" en "Utrecht " (met spatie) wordt. Dus als je teams hebt met een volgnummer >9 dan moet je =LEFT(A1,LEN(A1)-3) doen.
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 2 mei 2012 @ 08:50:04 #10
62215 qu63
..de tijd drinkt..
pi_111027920
quote:
3s.gif Op woensdag 2 mei 2012 08:15 schreef Deetch het volgende:

[..]

Oh ja, nog even een opmerking voor de functie van de geschoonde namen. Dit gaat dus alleen goed als de teamnamen minus de laatste 2 tekens alleen voor de zelfde stad hetzelfde zijn.
Dus "groningen 1" en "groningen 2" gaat goed maar "amsterdam" en "amsterdom" gaat dus mis omdat de geschoonde naam dan in beide gevallen "amsterd" is
Ook "Utrecht 1" en "Utrecht 21" gaat mis omdat de geschoonde namen dan "Utrecht" en "Utrecht " (met spatie) wordt. Dus als je teams hebt met een volgnummer >9 dan moet je =LEFT(A1,LEN(A1)-3) doen.
Kan je dan niet beter op zoek naar de laatste spatie en vanaf daar afkappen?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_111028332
quote:
0s.gif Op woensdag 2 mei 2012 08:50 schreef qu63 het volgende:

[..]

Kan je dan niet beter op zoek naar de laatste spatie en vanaf daar afkappen?
Dat is natuurlijk veel beter: =LEFT(A1,FIND(" ",A1)-1)

Dat gaat alleen mis dan met Den Bosch en Den Haag want dat wordt allebei "Den"
en met teams zonder spatie.

Dit is nog beter dan: =IFERROR(LEFT(A1,FIND(" ",A1)-1),A1)
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 2 mei 2012 @ 12:22:40 #12
62215 qu63
..de tijd drinkt..
pi_111033976
quote:
3s.gif Op woensdag 2 mei 2012 09:13 schreef Deetch het volgende:

[..]

Dat is natuurlijk veel beter: =LEFT(A1,FIND(" ",A1)-1)

Dat gaat alleen mis dan met Den Bosch en Den Haag want dat wordt allebei "Den"
en met teams zonder spatie.
Vandaar dat ik zei laatste spatie ;), als het tenminste altijd PLAATSNAAM SPATIE CIJFER is..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_111034770
Maar hoe doe je de laatste spatie vinden dan? Kun je met find ook vanaf rechts zoeken?
Al googelend kom ik wat leuke shizzle tegen.
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
pi_111034878
positie van laatste spatie vinden:
=FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))

laatste woord in een tekststring:
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))

alle tekst voor de laatste spatie:
=LEFT(A1,FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))+1)

Bron: http://stackoverflow.com/(...)el-without-using-vba
Hierin wordt ook uitgelegd hoe je om moet gaan met bijzondere gevallen (geen spatie, laatste teken is een spatie etc)
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
pi_111034917
en een hendig sjieke UDF om een tekstring om te draaien:

1
2
3
4
5
6
7
8
9
10
11
12
13
Function strReverse(text) As String
'
' Returns its argument, reversed
' J. Walkenbach
'
Dim TextLen As Integer
Dim i As Integer

TextLen = Len(text)
For i = TextLen To 1 Step -1
strReverse = strReverse & Mid(text, i, 1)
Next i
End Function
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
pi_111054508
quote:
3s.gif Op woensdag 2 mei 2012 12:50 schreef Deetch het volgende:
positie van laatste spatie vinden:
=FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))

laatste woord in een tekststring:
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))

alle tekst voor de laatste spatie:
=LEFT(A1,FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))+1)

Bron: http://stackoverflow.com/(...)el-without-using-vba
Hierin wordt ook uitgelegd hoe je om moet gaan met bijzondere gevallen (geen spatie, laatste teken is een spatie etc)
Maar dan elke , moet een ; worden.

=RIGHT(A1;LEN(A1)-FIND("|";SUBSTITUTE(A1;" ";"|";LEN(A1)-LEN(SUBSTITUTE(A1;" ";"")))))
  woensdag 2 mei 2012 @ 20:45:19 #17
62215 qu63
..de tijd drinkt..
pi_111055932
quote:
0s.gif Op woensdag 2 mei 2012 20:19 schreef McGilles het volgende:

[..]

Maar dan elke , moet een ; worden.

=RIGHT(A1;LEN(A1)-FIND("|";SUBSTITUTE(A1;" ";"|";LEN(A1)-LEN(SUBSTITUTE(A1;" ";"")))))
Dan moet je alles vertalen right=rechts, etc ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 3 mei 2012 @ 14:25:20 #18
62215 qu63
..de tijd drinkt..
pi_111084493
Hier zitten ook wel wat nuttige tips tussen: http://www.automateexcel.com/
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_111089069
quote:
0s.gif Op woensdag 2 mei 2012 20:19 schreef McGilles het volgende:

[..]

Maar dan elke , moet een ; worden.

=RIGHT(A1;LEN(A1)-FIND("|";SUBSTITUTE(A1;" ";"|";LEN(A1)-LEN(SUBSTITUTE(A1;" ";"")))))
Tja dat verschilt per taalversie en windows instelling.

Windows instelling: lijstscheidingsteken of list seperator kan dus een ; of , zijn

Office instelling: taal NL of EN: nederlandse functienamen of engelse

Meestal heb je de combinatie ; met NL functie namen of , met EN functie namen
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 3 mei 2012 @ 16:29:01 #20
138547 VASND
Happen naar het baasje
pi_111090034
Haha helden, ik had idd één teamnummer 10.
Omdat het maar 1 team was heb ik dit opgelost door de spatie tussen team en teamnummer weg te halen.
Het is gelukt, bedankt!
-|||---ᕙ(⇀‸↼‶)ᕗ---|||-
[b]Op woensdag 28 juli 2010 23:05 schreef Dromenvangertje het volgende:[/b]
het zou mij een eer zijn om alles voor u te doen wat uw hartje begeert.
pi_111094066
Ik werk hier met de Engelse versie van Excel 2000. Hierin probeer ik een formule te vinden die in een tabel van H3 tot J123 de eerste rij zoekt waarin een andere waarde dan 0 voorkomt. Van die rij moet dan de waarde uit kolom G worden gegeven.

Ik zat zelf al te denken aan een vlookup voor kolom H, I en J, maar dan zou ik de waarde van een negatieve kolom in vlookup nodig hebben en dat werkt niet. Iemand een idee hoe het wel zou kunnen?
  donderdag 3 mei 2012 @ 18:08:01 #22
62215 qu63
..de tijd drinkt..
pi_111094414
quote:
0s.gif Op donderdag 3 mei 2012 17:58 schreef _superboer_ het volgende:
Ik werk hier met de Engelse versie van Excel 2000. Hierin probeer ik een formule te vinden die in een tabel van H3 tot J123 de eerste rij zoekt waarin een andere waarde dan 0 voorkomt. Van die rij moet dan de waarde uit kolom G worden gegeven.
Bedoel je niet de eerste kolom?
quote:
Ik zat zelf al te denken aan een vlookup voor kolom H, I en J, maar dan zou ik de waarde van een negatieve kolom in vlookup nodig hebben en dat werkt niet. Iemand een idee hoe het wel zou kunnen?
In kolom K =G1 etc zetten en eventueel verbergen :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_111099230
Kolom F invoegen met de vermenigvuldiging van de oude H, I en J. vervolgens Vlookup doen op de waarde 0
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
pi_111102680
quote:
0s.gif Op donderdag 3 mei 2012 18:08 schreef qu63 het volgende:

[..]

Bedoel je niet de eerste kolom?
Nee, in G1 staat een bepaalde datum, in de andere kolommen wat er in of uit een magazijn ging op die datum. Ik wil de eerste datum hebben waarop zo'n wijziging plaats vond.

quote:
[..]

In kolom K =G1 etc zetten en eventueel verbergen :)
Dat kan niet netter?

quote:
3s.gif Op donderdag 3 mei 2012 19:56 schreef Deetch het volgende:
Kolom F invoegen met de vermenigvuldiging van de oude H, I en J. vervolgens Vlookup doen op de waarde 0
En hoe kan ik vlookup doen op de eerste waarde die niet 0 is?
  donderdag 3 mei 2012 @ 21:42:19 #25
62215 qu63
..de tijd drinkt..
pi_111105295
quote:
0s.gif Op donderdag 3 mei 2012 20:57 schreef _superboer_ het volgende:

[..]

Nee, in G1 staat een bepaalde datum, in de andere kolommen wat er in of uit een magazijn ging op die datum. Ik wil de eerste datum hebben waarop zo'n wijziging plaats vond.
Dan kolom XYZ ;) De eerstvolgende lege kolom iig ;)
quote:
Dat kan niet netter?
Nope, negatieve verwijzing in H/VLOOKUP kunnen niet.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')