abonnement Unibet Coolblue
  donderdag 26 september 2013 @ 00:41:37 #1
62215 qu63
..de tijd drinkt..
pi_131576167


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
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131612284
Ik heb een behoorlijk hardnekkig probleem in Excel 2007. Ik importeer een afbeelding die ik gemaakt heb met photoshop. Vervolgens denkt Excel dat de afbeelding veel kleiner is dan elk ander programma (buiten de Office suite). Het betreft een PNG maar ook verschillende andere bestandsformaten gaan fout.

Iemand een idee hoe dit op te lossen is? ;(
pi_131612982
Helaas weet ik icm Office niet zo veel over plaatjes. Altijd een drama :(
  vrijdag 27 september 2013 @ 13:44:00 #4
62215 qu63
..de tijd drinkt..
pi_131616925
quote:
0s.gif Op vrijdag 27 september 2013 10:39 schreef Cracka-ass het volgende:
Ik heb een behoorlijk hardnekkig probleem in Excel 2007. Ik importeer een afbeelding die ik gemaakt heb met photoshop. Vervolgens denkt Excel dat de afbeelding veel kleiner is dan elk ander programma (buiten de Office suite). Het betreft een PNG maar ook verschillende andere bestandsformaten gaan fout.

Iemand een idee hoe dit op te lossen is? ;(
kleiner als in pixels of in kb's?

En wat is t probleem als de foto kleiner is?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131616997
quote:
0s.gif Op vrijdag 27 september 2013 13:44 schreef qu63 het volgende:

[..]

kleiner als in pixels of in kb's?

En wat is t probleem als de foto kleiner is?
Als in pixels. Dat is een probleem omdat de afbeelding via VBA geïmporteerd wordt.
  vrijdag 27 september 2013 @ 13:48:44 #6
62215 qu63
..de tijd drinkt..
pi_131617056
quote:
0s.gif Op vrijdag 27 september 2013 13:46 schreef Cracka-ass het volgende:

[..]

Als in pixels. Dat is een probleem omdat de afbeelding via VBA geïmporteerd wordt.
Hmm, Excel zou er toch mee om moeten kunnen gaan: http://office.microsoft.c(...)use-HP005200499.aspx
-edit- De 2003-versie iig, ga er van uit dat de 2007 versie het ook kan..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131618339


heb met Excel bovenstaande grafiek gemaakt, op de horizontale as staat de dag-maand. Nu wil ik dat het grafisch gezien wat duidelijker wordt wat de verschillende maanden zijn. Bijvoorbeeld middels een verticale streep tussen jan en feb (en feb en mrt, etc) of een andere kleur van het tekengebied boven elke maand. Dus wit voor alle even maanden en licht grijs voor alle oneven maanden.

Hoe los ik dit op?
pi_131618419
Verticale rasterlijnen?
Aldus.
pi_131625944
moment
pi_131625976
quote:
0s.gif Op vrijdag 27 september 2013 14:33 schreef LogiteX het volgende:
[ afbeelding ]

heb met Excel bovenstaande grafiek gemaakt, op de horizontale as staat de dag-maand. Nu wil ik dat het grafisch gezien wat duidelijker wordt wat de verschillende maanden zijn. Bijvoorbeeld middels een verticale streep tussen jan en feb (en feb en mrt, etc) of een andere kleur van het tekengebied boven elke maand. Dus wit voor alle even maanden en licht grijs voor alle oneven maanden.

Hoe los ik dit op?

Alstu
pi_131626767
Mooie oplossing.
Aldus.
pi_131632335
quote:
0s.gif Op vrijdag 27 september 2013 19:46 schreef Holy_Goat het volgende:

[..]

[ afbeelding ]
Alstu
dat is een mooie oplossing ja
pi_131635697
quote:
0s.gif Op vrijdag 27 september 2013 19:46 schreef Holy_Goat het volgende:

[..]

[ afbeelding ]
Alstu
Die moet ik onthouden :)
  zondag 29 september 2013 @ 00:29:16 #14
62215 qu63
..de tijd drinkt..
pi_131662562
Exel 2007, NL:
Heb data in D2:M501. Nu wil ik in een andere kolom (zeg 'N') een lijst maken met de unieke records uit D2:M501 en daarnaast (kolom 'O') het aantal keer dat het woord in D2:M501 voorkomt. Dat laatste is op te lossen met een aantal.als(N2;D2:M501), alleen dat eerste is me nog niet gelukt.. De lijst is niet gesorteerd en kan niet gefilterd worden (of ik maar een schaduwkopie van, maar dan nog moet het sorteren handmatig gebeuren, iets wat niet de bedoeling is)

Ik heb wel UDF's en macro's gevonden die het kunnen doen (1, 2)

Mijn voorkeur gaat uit naar een formule, is dat te doen? Of zal ik toch naar een UDf moeten grijpen?

-edit- Ik heb nu de volgende array-formule:
{=INDEX(tbl_zkw;MIN(ALS(AANTAL.ALS($O$1:O1;tbl_zkw)=0;RIJ(tbl_zkw)-MIN(RIJ(tbl_zkw))+1));VERGELIJKEN(0;AANTAL.ALS($O$1:O1;INDEX(tbl_zkw;MIN(ALS(AANTAL.ALS($O$1:O1;tbl_zkw)=0;RIJ(tbl_zkw)-MIN(RIJ(tbl_zkw))+1));;1));0);1)}

Werkt, maar is wel processorintensief voor 500 rijen en 10 kolommen.. :(

[ Bericht 7% gewijzigd door qu63 op 29-09-2013 01:12:04 ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131665853
Leuk probleem :) maar je weet van te voren natuurlijk niet hoe lang die lijst moet worden ;)
mag het met een hulp kolom?
  zondag 29 september 2013 @ 09:04:08 #16
346939 Janneke141
Green, green grass of home
pi_131665974
Zijn het 500 records (van 10 kolommen) of kan er in iedere cel een uniek gegeven staan dat je wil hebben? En inderdaad, mag het met een hulpkolom?
Opinion is the medium between knowledge and ignorance (Plato)
pi_131666088
Mhhh ik heb het geprobeerd met:
1
2
3
4
5
6
7
hulprij:
=VERSCHUIVING($D$2;AFRONDEN.BOVEN((RIJ()-1)/3;1)-1;(RIJ()-1)-(AFRONDEN.BOVEN((RIJ()-1)/3;1)-1)*3-1)
=OFFSET($D$2,CEILING((ROW()-1)/3,1)-1,(ROW()-1)-(CEILING((ROW()-1)/3,1)-1)*3-1)

uniek    Let op! Verschilt per rij! De $J$1:J1 wordt $J$1:J2 etc
=ALS.FOUT(INDEX($I$2:$I$10;VERGELIJKEN(0;INDEX(AANTAL.ALS($J$1:J1;$I$2:$I$10);0;0);0));"")    
=IFERROR(INDEX($I$2:$I$10,MATCH(0,INDEX(COUNTIF($J$1:J1,$I$2:$I$10),0,0),0)),"")    

En dat gaat op zich prima. Alleen is ook nog steeds behoorlijk processor intensief toen ik met grotere matrices ging uitproberen.
http://filedump.org/files/dD0N1380439245.html

zie file>>
pi_131666272
@Holy
Je gebruikt engelse en nederlandse formules door elkaar. :)
  zondag 29 september 2013 @ 12:24:23 #19
62215 qu63
..de tijd drinkt..
pi_131668887
quote:
0s.gif Op zondag 29 september 2013 08:38 schreef Holy_Goat het volgende:
Leuk probleem :) maar je weet van te voren natuurlijk niet hoe lang die lijst moet worden ;)
mag het met een hulp kolom?
quote:
0s.gif Op zondag 29 september 2013 09:04 schreef Janneke141 het volgende:
Zijn het 500 records (van 10 kolommen) of kan er in iedere cel een uniek gegeven staan dat je wil hebben? En inderdaad, mag het met een hulpkolom?
Hulpkolom mag :)
Het zijn 500 rijen van 10 kolommen, maar niet iedere cel is gevuld. De lijst zou eventueel nog langer kunnen worden, maar een named range of relatieve verwijzing zou dat op kunnen vangen :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131669067
quote:
0s.gif Op zondag 29 september 2013 09:44 schreef snabbi het volgende:
@Holy
Je gebruikt engelse en nederlandse formules door elkaar. :)
Nietes. zijn precies hetzelfde. Wist niet welke versie hij gebruikte
  zondag 29 september 2013 @ 12:37:51 #21
62215 qu63
..de tijd drinkt..
pi_131669289
quote:
0s.gif Op zondag 29 september 2013 09:21 schreef Holy_Goat het volgende:
Mhhh ik heb het geprobeerd met:
[ code verwijderd ]

En dat gaat op zich prima. Alleen is ook nog steeds behoorlijk processor intensief toen ik met grotere matrices ging uitproberen.
http://filedump.org/files/dD0N1380439245.html

zie file>>
Doet inderdaad wat ie moet doen, alleen wordt de hulpkolom wel heel erg lang in mijn geval (500x10=5000 rijen lang)..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zondag 29 september 2013 @ 12:38:24 #22
62215 qu63
..de tijd drinkt..
pi_131669304
quote:
1s.gif Op zondag 29 september 2013 12:30 schreef Holy_Goat het volgende:

[..]

Nietes. zijn precies hetzelfde. Wist niet welke versie hij gebruikte
Excel 2007, NL, zoals in dikgedrukte letters aan t begin van mijn post stond ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131705538
Als je het met minder CPU gefixt krijgt zonder UDF hoor ik het graag trouwens :)
Altijd leuk
  maandag 30 september 2013 @ 13:01:02 #24
62215 qu63
..de tijd drinkt..
pi_131706009
quote:
0s.gif Op maandag 30 september 2013 12:40 schreef Holy_Goat het volgende:
Als je het met minder CPU gefixt krijgt zonder UDF hoor ik het graag trouwens :)
Altijd leuk
5000 random cellen die bij iedere update aangepast worden (=afronden(aselect()*10;0)) en dan de hulpkolom van 5000 rijen zorgden er in ieder geval voor dat ik Excel een kwartier niet kon gebruiken :X

Genoeg te doen dus ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_131706347
Leuk probleem, alles in één kolom krijgen lukt makkelijk, nu nog dubbelen eruit halen... (eerst maar weer eens aan het werk trouwens)
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')