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.
Regels1. 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 & LinksDe 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 optimaliserenDe 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 DOENMooi, grappig en coolEen 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:
ExcelunusualVerderAlle vorige topics zijn
hier terug te vinden.
Nieuw topic? Haal de
OP uit de wiki[ Bericht 0% gewijzigd door Tegan op 13-11-2020 15:55:44 ]
Ik heb een tekst in 1 cel die luidt:
" Aa_bbb_1122020_prod_to_test_AB150 Notification: x83"
Dit is een onderwerp van een mail die ik vanaf Outlook kopieer naar een Excel
Via SPATIES.WISSEN, DEEL en/of VIND.SPEC kan ik zo in een aantal kolommen daarachter de nodige data halen. Ik kan AB150 eruit filteren, ik kan x83 eruit filteren en ik kan 01122020 eruit filteren
Het probleem is dat die dan 01122020 niet ziet als datum. Wat moet ik doen om dat wel voor elkaar te krijgen?
Ik wil dit namelijk met een andere datum vergelijken en die cellen/kolom herkent excel wel als datum.
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
Janneke141
Green, green grass of home
quote:
Op woensdag 2 december 2020 16:30 schreef kalinhos het volgende:Ik heb een tekst in 1 cel die luidt:
" Aa_bbb_1122020_prod_to_test_AB150 Notification: x83"
Dit is een onderwerp van een mail die ik vanaf Outlook kopieer naar een Excel
Via SPATIES.WISSEN, DEEL en/of VIND.SPEC kan ik zo in een aantal kolommen daarachter de nodige data halen. Ik kan AB150 eruit filteren, ik kan x83 eruit filteren en ik kan 01122020 eruit filteren
Het probleem is dat die dan 01122020 niet ziet als datum. Wat moet ik doen om dat wel voor elkaar te krijgen?
Ik wil dit namelijk met een andere datum vergelijken en die cellen/kolom herkent excel wel als datum.
=DATUM(RECHTS(A1;4);DEEL(A1;3;2);LINKS(A1;2))
Als de bewuste datum in A1 staan. Dit werkt wel alleen als de output-datum altijd 8 karakters heeft.
Opinion is the medium between knowledge and ignorance (Plato)
quote:
Op woensdag 2 december 2020 16:34 schreef Janneke141 het volgende:[..]
=DATUM(RECHTS(A1;4);DEEL(A1;3;2);LINKS(A1;2))
Als de bewuste datum in A1 staan. Dit werkt wel alleen als de output-datum altijd 8 karakters heeft.
dank u! Altijd zo'n getob vind ik die datunms.
Edit: het blijft een getob. Als ik de datumcel via verticaal zoeken oproep herkent excel het weer niet als datum
[ Bericht 15% gewijzigd door kalinhos op 02-12-2020 17:06:30 ]
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
Janneke141
Green, green grass of home
quote:
Op woensdag 2 december 2020 17:00 schreef kalinhos het volgende:[..]
dank u! Altijd zo'n getob vind ik die datunms.
Edit: het blijft een getob. Als ik de datumcel via verticaal zoeken oproep herkent excel het weer niet als datum
Die datum uit jouw voorbeeld, was dat 1 december of 12 januari?
Opinion is the medium between knowledge and ignorance (Plato)
quote:
Ik heb de formule van Janneke in kolom P gezet
In een ander tabblad zoek ik op kolom L om de waarde uit die kolom P te krijgen. Maar dan krijg ik weer de 01122020 output
Maargoed: ik kan in dat tabblad natuurlijk ook weer Jannekes formule gebruiken en die in de kolom ernaast zetten en vervolgens de originele bron verbergen.
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
Janneke141
Green, green grass of home
quote:
Op woensdag 2 december 2020 17:41 schreef kalinhos het volgende:[..]
Ik heb de formule van Janneke in kolom P gezet
In een ander tabblad zoek ik op kolom L om de waarde uit die kolom P te krijgen. Maar dan krijg ik weer de 01122020 output
Maargoed: ik kan in dat tabblad natuurlijk ook weer Jannekes formule gebruiken en die in de kolom ernaast zetten en vervolgens de originele bron verbergen.
Heb je dan niet het kolomnummer in je VERT.ZOEKEN verkeerd?
Opinion is the medium between knowledge and ignorance (Plato)
Ohja ik zie het. Nja dank
Het is...kiezen of delen, spelen winnen verliezen of vervelen en helemaal niets ondernemen
Misschien kan iemand mij hier helpen:
Ik heb echt 0.0 verstand van excel, echter heb ik nu een bepaalde functie nodig in excel.
Het gaat om het volgende.
Ik heb in 357 cellen onder elkaar A, B, C of D staan.
Welke functie gebruik ik, zodat ik kan aangeven dat er in al die cellen totaal maar 4 verschillende letters voor komen?
Ik moet op werkblad 3 dus aan kunnen geven in cel B4=4
4 is dus het X aantal unike letters dan in die kolom voorkomt.
The Older I Get, The Better I Was
Janneke141
Green, green grass of home
quote:
Op maandag 28 december 2020 19:07 schreef LuieSurinamer het volgende:Misschien kan iemand mij hier helpen:
Ik heb echt 0.0 verstand van excel, echter heb ik nu een bepaalde functie nodig in excel.
Het gaat om het volgende.
Ik heb in 357 cellen onder elkaar A, B, C of D staan.
Welke functie gebruik ik, zodat ik kan aangeven dat er in al die cellen totaal maar 4 verschillende letters voor komen?
Ik moet op werkblad 3 dus aan kunnen geven in cel B4=4
4 is dus het X aantal unike letters dan in die kolom voorkomt.
Staan die letters telkens in 1 cel? Dus in A1 "A", in A2 "ACD", in A3 "B" etc. of staan ze in verschillende kolommen?
Zitten er dubbele letters in?
Als alles in 1 kolom staat en er staan geen dubbelen in, dan kun je met de functie =LENGTE() denk ik een heel eind komen.
Opinion is the medium between knowledge and ignorance (Plato)
quote:
Op maandag 28 december 2020 20:05 schreef Janneke141 het volgende:[..]
Staan die letters telkens in 1 cel? Dus in A1 "A", in A2 "ACD", in A3 "B" etc. of staan ze in verschillende kolommen?
Zitten er dubbele letters in?
Als alles in 1 kolom staat en er staan geen dubbelen in, dan kun je met de functie =LENGTE() denk ik een heel eind komen.
De letters staan in Cel A2 tot en met A357
Daar staan er dus in elke Cel 1 letter. En wil dus een nieuwe cel dat de hoeveelheid letters weergeeft.
The Older I Get, The Better I Was
Janneke141
Green, green grass of home
quote:
Op maandag 28 december 2020 20:18 schreef LuieSurinamer het volgende:[..]
De letters staan in Cel A2 tot en met A357
Daar staan er dus in elke Cel 1 letter. En wil dus een nieuwe cel dat de hoeveelheid letters weergeeft.
Maar als je al weet dat er alleen A-B-C-D in staat dan is het antwoord toch gewoon '4', of begrijp ik nu iets helemaal verkeerd?
Opinion is the medium between knowledge and ignorance (Plato)
marcb1974
Dakshin Ray
quote:
Op maandag 28 december 2020 19:07 schreef LuieSurinamer het volgende:Misschien kan iemand mij hier helpen:
Ik heb echt 0.0 verstand van excel, echter heb ik nu een bepaalde functie nodig in excel.
Het gaat om het volgende.
Ik heb in 357 cellen onder elkaar A, B, C of D staan.
Welke functie gebruik ik, zodat ik kan aangeven dat er in al die cellen totaal maar 4 verschillende letters voor komen?
Ik moet op werkblad 3 dus aan kunnen geven in cel B4=4
4 is dus het X aantal unike letters dan in die kolom voorkomt.
Kan je niet helemaal volgen.
Maar als ik je goed snapt is de functie die je wil er niet.
Gebruik autofilter om snel te tellen.
Som.als op a, b, c, d, en dit dan vergelijken met het totaal aantal waarden
Of de kolom kopieren en uniek maken.
stupidity has become as common as common sense was before
quote:
Ja dat is wel zo, maar ik wil kunnen aantonen hoe ik aan die 4 gekomen ben zeg maar.
The Older I Get, The Better I Was
quote:
Op maandag 28 december 2020 20:40 schreef marcb1974 het volgende:[..]
Kan je niet helemaal volgen.
Maar als ik je goed snapt is de functie die je wil er niet.
Gebruik autofilter om snel te tellen.
Som.als op a, b, c, d, en dit dan vergelijken met het totaal aantal waarden
Of de kolom kopieren en uniek maken.
Misschien is het duidelijk als ik het zo uitleg:
Ik heb een enquête waaraan een x aantal scholen hebben meegedaan.
Die scholen zijn aangegeven met letters ipv namen.
Nu wil ik dus in een aparte cel aangeven hoeveel scholen hebben meegedaan.
Dus ipv dat ik alle 357 records die letters ga tellen. Wil ik gewoon een functie die mij gelijk aangeeft om hoeveel scholen het gaat.
Zodat als ik een school een andere letter geef, die in de cel ook aangepast wordt.
The Older I Get, The Better I Was
quote:
Op maandag 28 december 2020 21:07 schreef LuieSurinamer het volgende:[..]
Misschien is het duidelijk als ik het zo uitleg:
Ik heb een enquête waaraan een x aantal scholen hebben meegedaan.
Die scholen zijn aangegeven met letters ipv namen.
Nu wil ik dus in een aparte cel aangeven hoeveel scholen hebben meegedaan.
Dus ipv dat ik alle 357 records die letters ga tellen. Wil ik gewoon een functie die mij gelijk aangeeft om hoeveel scholen het gaat.
Zodat als ik een school een andere letter geef, die in de cel ook aangepast wordt.
ooooohhh
=AANTALARG(G:G)
Man is de baas, vrouw kent haar plaats.
Janneke141
Green, green grass of home
quote:
Dit geeft je het totaal aantal entries in die kolom. Levert in dit geval dus 357 op, en niet 4.
Opinion is the medium between knowledge and ignorance (Plato)
quote:
Dan kan ie beter even een screenshotje maken van zijn situatie op zijn spreadsheet. Kunnen we hem wat beter helpen.
Man is de baas, vrouw kent haar plaats.
marcb1974
Dakshin Ray
quote:
Op maandag 28 december 2020 21:07 schreef LuieSurinamer het volgende:[..]
Misschien is het duidelijk als ik het zo uitleg:
Ik heb een enquête waaraan een x aantal scholen hebben meegedaan.
Die scholen zijn aangegeven met letters ipv namen.
Nu wil ik dus in een aparte cel aangeven hoeveel scholen hebben meegedaan.
Dus ipv dat ik alle 357 records die letters ga tellen. Wil ik gewoon een functie die mij gelijk aangeeft om hoeveel scholen het gaat.
Zodat als ik een school een andere letter geef, die in de cel ook aangepast wordt.
Ik zou een tweede kolom maken met en daar met een aantal.als() een telling doen. Dan zie je vanzelf welke letters meedoen.
Of misschien wel met vert.zoeekn(), dan geeft ie iedere keer de waarde weer als die voorkomt, en maar 1 keer.
stupidity has become as common as common sense was before
Er vanuit gaande dat je een recente versie van Excel hebt en de letters in kolom A staan met een kop er boven:
=AANTALARG(UNIEK(A:A))-2
Zonder kop =AANTALARG(UNIEK(A:A))-1
Min -1 of -2 omdat een lege cel ook als uniek wordt geteld.
quote:
Op maandag 28 december 2020 21:26 schreef Rectum het volgende:Er vanuit gaande dat je een recente versie van Excel hebt en de letters in kolom A staan met een kop er boven:
=AANTALARG(UNIEK(A:A))-2
Zonder kop =AANTALARG(UNIEK(A:A))-1
Min -1 of -2 omdat een lege cel ook als uniek wordt geteld.
Jij bent een topper!! Dit was het dus.
The Older I Get, The Better I Was
Voorwaardelijke opmaak op H1:H9999 met formule EN(C1<VANDAAG();H1="Nee") .
Ik kan het nu niet testen, maar zoiets...
$ hoeft alleen als je meerdere kolommen wil kleuren.
$H$1:$H$9999 is juist. Ik bedoelde dat $H:$H onjuist was en dat $ in EN(C1<VANDAAG();H1="Nee") niet nodig is.
Klopt de formule nog wel, Excel kan nog eens vervelend doen als je het bereik wijzigt.
Computer opgestart en mijn testje werkt ook.
Heb je toevallig Engelse Excel? Dan werken de Nederlandse formules niet.