abonnement bol.com Unibet Coolblue
  Moderator vrijdag 29 april 2022 @ 13:25:31 #1
56843 crew  onlogisch
Forumbeest
pi_204576892




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
Recordhouder aantal posts op één dag.
4045
onlogisch
pi_204676897
Vraag: ik wil de minimale waarde retourneren op basis van twee argumenten:
- de minimale waarde wordt berekend over de afgelopen xx dagen (bijvoorbeeld 5 dagen, dus van de periode 5-9 mei)
- de minimale waarde mag geen nul zijn
Het gewenste resultaat zou in dit geval 2 moeten zijn.

In de kolom van de waarden staan geen negatieve getallen, wel lege cellen:



Hoe krijg ik dit het best voor elkaar? Ik krijg het zelf niet goed voor elkaar 8)7
pi_204677773
In C6 (?) : MIN.ALS.VOORWAARDEN(B1:B5;B1:B5;">0")

En dan naar beneden slepen?
pi_204677947
quote:
1s.gif Op maandag 9 mei 2022 13:39 schreef Tegan het volgende:
In C1: MIN.ALS.VOORWAARDEN(B1:B5;B1:B5;">0")

En dan naar beneden slepen?
In C1 wil ik graag één keer het minimum berekenen, dit minimum verandert dus elke dag, omdat het bereik (5 dagen terug vanaf nu) elke dag verandert.
pi_204679352
quote:
0s.gif Op maandag 9 mei 2022 11:42 schreef kaiserhenk het volgende:
Vraag: ik wil de minimale waarde retourneren op basis van twee argumenten:
- de minimale waarde wordt berekend over de afgelopen xx dagen (bijvoorbeeld 5 dagen, dus van de periode 5-9 mei)
- de minimale waarde mag geen nul zijn
Het gewenste resultaat zou in dit geval 2 moeten zijn.

In de kolom van de waarden staan geen negatieve getallen, wel lege cellen:

[ afbeelding ]

Hoe krijg ik dit het best voor elkaar? Ik krijg het zelf niet goed voor elkaar 8)7
Je kan dit doen met VERSCHUIVING en door een negatief aantal rijen mee te geven van -4.

=MIN.ALS.VOORWAARDEN(VERSCHUIVING(C1;-4;-1):VERSCHUIVING(C1;0;-1);VERSCHUIVING(C1;-4;-1):VERSCHUIVING(C1;0;-1);">0")

Probleem hiermee is dat je voor de bovenste vier rijen buiten het werkblad uitkomt en hierdoor een #VERW! fout krijgt. Dit kun je weer oplossen door met een ALS te controleren of het rijnummer een vier of kleiner is en dan het rijnummer in de formule te gebruiken.

=ALS(RIJ(A1)<5;MIN.ALS.VOORWAARDEN(VERSCHUIVING(C1;1-RIJ(A1);-1):VERSCHUIVING(C1;0;-1);VERSCHUIVING(C1;1-RIJ(A1);-1):VERSCHUIVING(C1;0;-1);">0");MIN.ALS.VOORWAARDEN(VERSCHUIVING(C1;-4;-1):VERSCHUIVING(C1;0;-1);VERSCHUIVING(C1;-4;-1):VERSCHUIVING(C1;0;-1);">0"))
pi_204680316
quote:
0s.gif Op maandag 9 mei 2022 13:56 schreef kaiserhenk het volgende:

[..]
In C1 wil ik graag één keer het minimum berekenen, dit minimum verandert dus elke dag, omdat het bereik (5 dagen terug vanaf nu) elke dag verandert.
Ik kan dit nu niet testen maar zoiets: MIN.ALS.VOORWAARDEN(B:B;B:B;">0";A:A;"<=(VANDAAG()-1)";A:A;">=(VANDAAG()-5)")
  maandag 9 mei 2022 @ 18:13:47 #7
346939 Janneke141
Green, green grass of home
pi_204680406
Volgens mij werken de hiervoor genoemde oplossingen allebei, maar toch wil het in een situatie als deze nog wel eens handig zijn om een hulpkolom te gebruiken. Reden: het houdt de losse formules heel eenvoudig, en als je op een later moment nog iets moet veranderen snap je een stuk beter wat je gedaan hebt.
Opinion is the medium between knowledge and ignorance (Plato)
pi_204682038
Niet perse mee eens, mijn oplossing is slechts één formule.
pi_204682121
Dit zijn wel de duidelijke tekortkomingen van Excel. Alles kan maar handig of overzichtelijk is het niet echt.
Aldus.
  maandag 9 mei 2022 @ 20:48:40 #10
346939 Janneke141
Green, green grass of home
pi_204682204
quote:
1s.gif Op maandag 9 mei 2022 20:34 schreef Tegan het volgende:
Niet perse mee eens, mijn oplossing is slechts één formule.
Dat hoeft ook niet :P Ik geef alleen aan wat ik zou doen. Kan de vraagsteller kiezen wat hem het handigste lijkt voor zijn eigen situatie.
Opinion is the medium between knowledge and ignorance (Plato)
pi_204685802
Met de hulpkolommen is het gelukt.
Bedankt allen!
pi_204687267
quote:
1s.gif Op maandag 9 mei 2022 18:03 schreef Tegan het volgende:

[..]
Ik kan dit nu niet testen maar zoiets: MIN.ALS.VOORWAARDEN(B:B;B:B;">0";A:A;"<=(VANDAAG()-1)";A:A;">=(VANDAAG()-5)")
Ik heb dit net getest en zo moest het zijn:
MIN.ALS.VOORWAARDEN(B:B;B:B;">0";A:A;"<="&(VANDAAG()-1);A:A;">="&(VANDAAG()-5))
pi_204839501
hoi hoi,

Een vraag:
Uit een data warehouse staat in geel gearceerde cellen TO of een andere 2 letters lange afkorting. Deze wil ik eruit halen met een formule. Echter lukt niks omdat de letters er niet lijken te zijn als ik op de cel sta.

Wat kan ik doen om deze letters er uit te halen?

Man is de baas, vrouw kent haar plaats.
  maandag 23 mei 2022 @ 15:37:00 #14
95236 marcb1974
Dakshin Ray
pi_204839529
quote:
7s.gif Op maandag 23 mei 2022 15:33 schreef phpmystyle het volgende:
hoi hoi,

Een vraag:
Uit een data warehouse staat in geel gearceerde cellen TO of een andere 2 letters lange afkorting. Deze wil ik eruit halen met een formule. Echter lukt niks omdat de letters er niet lijken te zijn als ik op de cel sta.

Wat kan ik doen om deze letters er uit te halen?

[ afbeelding ]
En als je de opmaak van de cel veranderd?
stupidity has become as common as common sense was before
pi_204839579
quote:
0s.gif Op maandag 23 mei 2022 15:37 schreef marcb1974 het volgende:

[..]
En als je de opmaak van de cel veranderd?
In wat dan?
Man is de baas, vrouw kent haar plaats.
  maandag 23 mei 2022 @ 15:43:44 #16
95236 marcb1974
Dakshin Ray
pi_204839591
quote:
7s.gif Op maandag 23 mei 2022 15:41 schreef phpmystyle het volgende:

[..]
In wat dan?
Maakt niet zoveel uit, vraag is vooral of je dan de letters wel te zien krijgt in de formulebalk.
stupidity has become as common as common sense was before
pi_204839614
quote:
0s.gif Op maandag 23 mei 2022 15:43 schreef marcb1974 het volgende:

[..]
Maakt niet zoveel uit, vraag is vooral of je dan de letters wel te zien krijgt in de formulebalk.
Nee, niet zichtbaar in de formule balk. Heb standaard geprobeerd, getal, etc etc.
Man is de baas, vrouw kent haar plaats.
  maandag 23 mei 2022 @ 15:47:36 #18
95236 marcb1974
Dakshin Ray
pi_204839633
quote:
7s.gif Op maandag 23 mei 2022 15:45 schreef phpmystyle het volgende:

[..]
Nee, niet zichtbaar in de formule balk. Heb standaard geprobeerd, getal, etc etc.
En met 'tekst naar kolommen' ziet ie het dan wel?
stupidity has become as common as common sense was before
pi_204839688
quote:
0s.gif Op maandag 23 mei 2022 15:47 schreef marcb1974 het volgende:

[..]
En met 'tekst naar kolommen' ziet ie het dan wel?
Herkent de letters ook niet in tekst naar kolommen.
Man is de baas, vrouw kent haar plaats.
  maandag 23 mei 2022 @ 15:54:39 #20
95236 marcb1974
Dakshin Ray
pi_204839698
quote:
7s.gif Op maandag 23 mei 2022 15:53 schreef phpmystyle het volgende:

[..]
Herkent de letters ook niet in tekst naar kolommen.
Zijn het geen afbeeldingen die er staan?
stupidity has become as common as common sense was before
pi_204839752
quote:
0s.gif Op maandag 23 mei 2022 15:54 schreef marcb1974 het volgende:

[..]
Zijn het geen afbeeldingen die er staan?
Nope ook dat niet.
Man is de baas, vrouw kent haar plaats.
  maandag 23 mei 2022 @ 17:49:19 #22
346939 Janneke141
Green, green grass of home
pi_204840543
Waar staan de celeigenschappen op? Dit zal wel een of ander aangepast format zijn.
Opinion is the medium between knowledge and ignorance (Plato)
pi_204843198
In onderstaand filmpje staat vermoedelijk uitgelegd wat er aan de hand is. Skip naar 2:40 voor de volledige uitleg, of naar 6:35 in het filmpje voor een specifiek voorbeeld.

pi_204844788
quote:
0s.gif Op maandag 9 mei 2022 11:42 schreef kaiserhenk het volgende:
Vraag: ik wil de minimale waarde retourneren op basis van twee argumenten:
- de minimale waarde wordt berekend over de afgelopen xx dagen (bijvoorbeeld 5 dagen, dus van de periode 5-9 mei)
- de minimale waarde mag geen nul zijn
Het gewenste resultaat zou in dit geval 2 moeten zijn.

In de kolom van de waarden staan geen negatieve getallen, wel lege cellen:

[ afbeelding ]

Hoe krijg ik dit het best voor elkaar? Ik krijg het zelf niet goed voor elkaar 8)7
Ik gebruik alleen de Engelse Excel dus je zult even zelf moeten kijken wat het in het NLs is maar....

=SMALL(B:B,COUNTIF(B:B,0)+1)

Dan kun je kolom B net zo lang maken als je wil, nullen en lege vakken worden genegeerd.
Met de countif kun je criteria toevoegen die je wil negeren, in dit geval dus de nul.
pi_205066705


Excel versie 2205 - NL

Ik heb een beste ALS-formule gemaakt.

Ik probeer de formule van L2 en daaronder aan te passen:
1=ALS(K2=GROOTSTE($K2:$K30;1);"1st";ALS(K2=GROOTSTE($K2:$K30;2);"2e";ALS(K2=GROOTSTE($K2:$K30;3);"3e")))

Het lukt me niet om de ONWAAR weg te laten. Het leek me logisch door achteraan
1;""
toe te voegen, maar ik krijg steeds de fout "U heeft te veel argumenten opgegeven voor deze functie."
Als ik die toevoeging één haakje naar voren haal, krijg ik nog steeds die melding.

Iemand een idee hoe ik het werkend kan krijgen?

-edit-
Oh, toch gelukt. Het moest zelfs voor het laatste haakje. Dom van me.
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
abonnement bol.com Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')