1 2 3 4 5 6 7 8 9 10 | Sub Macro1() ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Sheet2'!$A$2:$R$5,'Sheet2'!$A$1:$R$1") ActiveChart.ChartType = xlLine ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Sheet2'!$A$6:$R$9,'Sheet2'!$A$1:$R$1") ActiveChart.ChartType = xlLine End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Sub Macro2() ' Dim rij1 As Integer Dim rij2 As Integer rij1 = 2 rij2 = 5 For i = 1 To 999 ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Sheet2'!$A$rij1:$R$rij2,'Sheet2'!$A$1:$R$1") ActiveChart.ChartType = xlLine rij1 = rij1 + 4 rij2 = rij2 + 4 Next i End Sub |
1 | =10*LOG((10^(GELUIDSNIVEAU1/10)+10^(GELUIDSNIVEAU2/10)+10^(GELUIDSNIVEAU.../10))/Aantal geluidsniveaus) |
1 | =10*LOG((10^(B1:B20/10))/20) |
1 2 3 4 5 6 7 8 9 | 22 A B 22 C D 23 E F 23 G H 24 I J 24 K L 25 M N 25 O P 25 Q R |
Dat kan gewoon standaard in Excel 2007, ik heb deze versie alleen niet bij de hand. Maar zoek maar eens bij voorwaardelijke opmaak en zo.quote:Op vrijdag 29 april 2011 16:23 schreef geelkuikentje het volgende:
Ik heb een grote lijst in Excel 2007 (NL) waarin veel kolommen staan. Graag wil ik alternerend een kleurtje geven aan bepaalde cellen. Ik kan geen screenshot maken want ik kan niet uploaden hier.
[ code verwijderd ]
Ik wil hier de cellen met de getallen alternerend een kleur geven. Bijvoorbeeld 22 rood, 23 geel, 24 rood en 25 geel. Iemand een idee?
Hoe bedoel je?quote:Op vrijdag 29 april 2011 07:06 schreef DaFan het volgende:
SOM eromheen en bevestigen met Ctrl-Shift-Enter
1 | =10*LOG((10^(SUM(B1:B20)/10))/20) |
1 | =SUM(10*LOG((10^(B1:B20/10))/20)) |
1 | =10*LOG((10^(GELUIDSNIVEAU1/10)+10^(GELUIDSNIVEAU2/10)+10^(GELUIDSNIVEAU.../10))/Aantal geluidsniveaus) |
Heb je bij die 2e wel bevestigd met ctrl+shift+enter ipv enter?quote:Op zondag 1 mei 2011 23:05 schreef Zalgo het volgende:
[..]
Hoe bedoel je?
Ik heb dit geprobeerd:
[ code verwijderd ]
&
[ code verwijderd ]
Beide levert niks op.
Het is dus niet de bedoeling dat er normaal wordt opgeteld, maar volgens deze formule:
[ code verwijderd ]
Sorry je hebt gelijk. Ik zat op mn telefoon te kijken en daar zag ik maar een piepklein deel van je formule.quote:Op zondag 1 mei 2011 23:05 schreef Zalgo het volgende:
[..]
Hoe bedoel je?
Ik heb dit geprobeerd:
[ code verwijderd ]
&
[ code verwijderd ]
Beide levert niks op.
Het is dus niet de bedoeling dat er normaal wordt opgeteld, maar volgens deze formule:
[ code verwijderd ]
quote:Op vrijdag 29 april 2011 21:58 schreef Regenbui het volgende:
Hey all,
Ben aan het stoeien met een macro (newb), maar ik kom er niet uit. Wie kan mij vertellen hoe ik een macro maak die de rij waar ik in sta een kleur geeft.
Voorbeeld:
Ik heb een checkbox/button in A10, en wil zodra ik deze aanklik dat a1 t/m a10 een kleurtje krijg.
Kom er maar niet uit. thanks
1 2 3 4 5 6 7 8 9 | Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("A1:A10").Interior.ColorIndex = 3 Else Range("A1:A10").Interior.ColorIndex = xlNone End If End Sub |
Hm. Ik heb het op een andere manier opgelost. Gewoon in gedeeltes gedaan.quote:Op maandag 2 mei 2011 17:53 schreef DaFan het volgende:
[..]
Sorry je hebt gelijk. Ik zat op mn telefoon te kijken en daar zag ik maar een piepklein deel van je formule.
Ik kom e rook niet helemaal uit maar dat komt meer omdat ik de formule niet begreep.
Wat is het gemiddelde van 1,2,3,4,5,6,7,8,9,10 als we het over geluidsniveau hebben?
Volgens mij dan 6,41 ?
Dan zou het dit moeten worden:
=10*LOG(SUM(10^(B1:B20/10))/20)
of fraaier nog denk ik:
=10*LOG(SUM(10^(B1:B20/10))/ROWS(B1:B20)
Bevestigen met Ctrl-Shift-Enter.
1 2 3 | Onderdeel 1 waarde 1 waarde 2 waarde 3 Onderdeel 2 waarde 1 waarde 2 waarde 3 Onderdeel 3 waarde 1 waarde 2 waarde 3 |
1 2 3 4 5 6 | Onderdeel 1 waarde 1 Onderdeel 1 waarde 2 Onderdeel 1 waarde 3 Onderdeel 2 waarde 1 Onderdeel 2 waarde 2 Onderdeel 2 waarde 3 |
In het menu "Review" heb je de opties "Protect Sheet" en "Protect workbook", daarin kun je aangeven wat er wel en niet mag.quote:Op woensdag 4 mei 2011 10:18 schreef Piles het volgende:
Wat is de makkelijkste manier om formules te beveiligen in Excel2007-NL? Ik heb een bestand met heel veel kolommen met formules, en ik wil niet dat mensen daar per ongeluk of bewust waardes invullen.
Maar het moet wel makkelijk uit te zetten zijn, als er dingen veranderd moeten worden (dus niet per cel ofzo)
Kan dat in 1 keer op totaalniveau?
Gewoon geen wachtwoord invullen is goed genoeg Jammer dat je wel de uitzondering aan moet geven. Ik heb liever dat men formules niet mag bewerken/verwijderen en de rest wel, maar dat kan dus niet automatisch. Bedankt iigquote:Op woensdag 4 mei 2011 13:45 schreef Deetch het volgende:
[..]
In het menu "Review" heb je de opties "Protect Sheet" en "Protect workbook", daarin kun je aangeven wat er wel en niet mag. Vervolgens kun je gebruikers bepaalde cellen wel laten bewerken (de invulcellen) en de rest dan dus niet. Let op deze werkt met een password dus die moet je niet kwijtraken.
zonder password kan wel iedereen die "beveiliging" uitzetten. Maar ik denk dat jouw gebruikers allemaal ID-10T zijn?quote:Op woensdag 4 mei 2011 13:48 schreef Piles het volgende:
[..]
Gewoon geen wachtwoord invullen is goed genoeg Jammer dat je wel de uitzondering aan moet geven. Ik heb liever dat men formules niet mag bewerken/verwijderen en de rest wel, maar dat kan dus niet automatisch. Bedankt iig
quote:Op woensdag 4 mei 2011 14:02 schreef Deetch het volgende:
[..]
zonder password kan wel iedereen die "beveiliging" uitzetten. Maar ik denk dat jouw gebruikers allemaal ID-10T zijn?
Nog even terug naar je eerste vraag. Het kan wel wat geautomatiseerder. Beschouw de volgende macro:quote:Op woensdag 4 mei 2011 14:03 schreef Piles het volgende:
[..]
Vandaar de beveiliging, voor ze m'n formules weer slopen
Heb je toevallig ook nog een oplossing voor mijn 2e vraag?
1 2 3 4 5 6 7 8 9 10 11 12 | Sub Test() Sheet1.Unprotect Sheet1.Cells.Locked = True For i = 1 To 100 If Left(Sheet1.Cells(i, 1).Formula, 1) <> "=" Then Sheet1.Cells(i, 1).Locked = False Next i Sheet1.Protect End Sub |
Excel zonder macro's is als een TV zonder afstandsbediening. Je kan het wel gebruiken, maar veel kan je er niet mee :pquote:Op woensdag 4 mei 2011 15:19 schreef Piles het volgende:
Macro's, die moet ik echt nog eens gaan leren Bedankt, ik ga m bewaren
1 2 3 4 5 6 7 | Kolom A (jaar 1) Kolom B (jaar 2) 1 6 2 5 3 4 4 3 5 2 6 1 |
Het is weekend!quote:
Dankje wel ik had gewoon simpel moeten doen!quote:Op maandag 9 mei 2011 21:43 schreef actuarisje het volgende:
Ik denk dat je dit bedoelt:
=SOM(C3;F3) - SOM(D3;E3;G3;H3;I3)
Of natuurlijk gewoon
=C3+F3-D3-E3-G3-H3-I3
Lol, tja de vrijdagmiddag stress projectjes ken ik ook nog wel en dan is er niemand om je te helpen.quote:Op maandag 9 mei 2011 22:36 schreef Serrano het volgende:
@deetch bedankt! Eigenlijk te laat, moest het ondanks het mooie weer dit weekend af hebben (handmatig zitten wijzigen). Desalniettemin zal het voor de toekomst heel fijn zijn als ik jouw formules kan gebruiken Ik zal ze morgen even nader bestuderen!
Kopieer (ctrl+c) de combinatie, selecteer alle cellen en kun je de combinatie er in plakken (ctrl+v).quote:Op dinsdag 10 mei 2011 10:31 schreef BoniBoni het volgende:
Goedemorgen!
Ik heb in Excel een kolom met nogal veel rijen. In al deze cellen staat een cijfer. Nu wil ik achter ieder cijfer een lettercombinatie plakken (overal dezelfde)
Is dit mogelijk in excel?
Ik gebruik Microsoft Office Excel 2007, in het Nederlands
1 2 | Reason = Application.InputBox("Reason", "New Expecteds", sDefault) If Reason = False Then Exit Sub |
Lijkt me niet de bedoeling aangezien dan de originele getallen verdwijnen.quote:Op dinsdag 10 mei 2011 13:04 schreef Pakspul het volgende:
[..]
Kopieer (ctrl+c) de combinatie, selecteer alle cellen en kun je de combinatie er in plakken (ctrl+v).
Als het alleen gaat om de weergave (bijvoorbeeld "10 Liter/15 Liter/etc") kan je ook kiezen voor een aangepaste opmaak.quote:Op dinsdag 10 mei 2011 14:34 schreef Deetch het volgende:
[..]
Lijkt me niet de bedoeling aangezien dan de originele getallen verdwijnen.
Ik denk dat BoniBoni het volgende bedoeld:
1 wordt 1bla
2 wordt 2bla
4 wordt 4bla
281 wordt 281bla
etc etc
Stel je eerste getal staat in cel A1
Maak een nieuwe kolom en typ daar de volgende formule in:
=A1&"bla"
vervang naar behoeft A1 door de juiste celverwijzing en de tekst "bla" door de gewenste tekst
Kopieer deze fomule door naar beneden.
Vervolgens zou je de kolom met de formule kunnen selecteren en deze middels plakken speciaal, plakken als waarden weer kunnen plakken.
Zo verdwijnt de formule en heb je een kolom met een vaste combinatie. let op dit is dan wel een tekst geworden dus je kunt er niet meer mee rekenen.
Dit bedoelde ik inderdaad.quote:Op dinsdag 10 mei 2011 14:34 schreef Deetch het volgende:
[..]
Lijkt me niet de bedoeling aangezien dan de originele getallen verdwijnen.
Ik denk dat BoniBoni het volgende bedoeld:
1 wordt 1bla
2 wordt 2bla
4 wordt 4bla
281 wordt 281bla
etc etc
Stel je eerste getal staat in cel A1
Maak een nieuwe kolom en typ daar de volgende formule in:
=A1&"bla"
vervang naar behoeft A1 door de juiste celverwijzing en de tekst "bla" door de gewenste tekst
Kopieer deze fomule door naar beneden.
Vervolgens zou je de kolom met de formule kunnen selecteren en deze middels plakken speciaal, plakken als waarden weer kunnen plakken.
Zo verdwijnt de formule en heb je een kolom met een vaste combinatie. let op dit is dan wel een tekst geworden dus je kunt er niet meer mee rekenen.
Iemand hier nog een oplossing/idee voor?quote:Op woensdag 4 mei 2011 11:12 schreef Piles het volgende:
Oh, en nog een wat lastigere vraag. Ik heb de volgende matrix:
[ code verwijderd ]
Die wil ik (automatisch) converteren naar:
[ code verwijderd ]
Het aantal kolommen (waardes) kan variëren, om het nog leuker te maken
En het gaat om nogal wat gegevens Ik hoop dat iemand er een handigheidje voor heeft, ik kan het zo even niet bedenken.
Met VBA kun je er door heen loopen. Alleen is even de vraag of het aantal waardes per onderdeel kan verschillen.quote:Op donderdag 12 mei 2011 10:28 schreef Piles het volgende:
[..]
Iemand hier nog een oplossing/idee voor?
Anders neem ik voor de zekerheid bijvoorbeeld 20 kolommen, en verwijder ik later de lege regels, dat is geen probleemquote:Op donderdag 12 mei 2011 12:00 schreef Pakspul het volgende:
[..]
Met VBA kun je er door heen loopen. Alleen is even de vraag of het aantal waardes per onderdeel kan verschillen.
Je kan toch eerst ophalen hoeveel regels er zijnquote:Op donderdag 12 mei 2011 12:00 schreef Pakspul het volgende:
[..]
Met VBA kun je er door heen loopen. Alleen is even de vraag of het aantal waardes per onderdeel kan verschillen.
Volgens mij twee opties:quote:Op donderdag 12 mei 2011 12:30 schreef styliste het volgende:
Questione:
Ik zit op mijn werk en heb voor een overzichtsklusje gegevens nodig uit een bestand dat door een collega is gemaakt. Dit bestand is veel te omslachtig, maar dat terzijde.
Hij heeft in zijn bestand gebruik gemaakt van DRAAITABEL.OPHALEN. werkt opzich prima, ik krijg de gegevens die ik nodig heb.
Als ik mn bestand met draaitabel maar geopend heb...
Als dit bestand niet geopend is krijg ik #VERW.
Iemand hier een oplossing voor?
Je kunt twee loopjes in elkaar bouwen. Kan het even snel in PHP voordoen.quote:Op donderdag 12 mei 2011 12:07 schreef Piles het volgende:
[..]
Anders neem ik voor de zekerheid bijvoorbeeld 20 kolommen, en verwijder ik later de lege regels, dat is geen probleem
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php for ( $i = 0; $i < $aantalRegels; $i++ ) { for ( $j = 0; $j < 20; $j++ ) { if ( $sheet[$i][$j] == "" ) { // een lege cell betekent dat er geen extra waardes meer komen break; } // hier rijen in sheet gaan vullen met onderdeel en waarde, onderdeel zit gekoppend aan $i en waarde aan $j; } } ?> |
bedoel je met de eerste optie dan dat ik een draaitabel maak van de eerder genoemde draaitabel? (de originele draaitabel is beveiligd dus ik kan niet zien waar die de gegevens uit ophaalt..)quote:Op donderdag 12 mei 2011 12:49 schreef DaFan het volgende:
[..]
Volgens mij twee opties:
- Draaitabel plaatsen in je eigen bestand en de gegevens voor de draaitabel ophalen uit het gesloten bestand.
- Gegevens al ophalen in het bestand met de draaitabel en die vervolgens weer ophalen in je bestand.
Je kunt ook netzo lang doorgaan totdat je een lege regel (of cell waar onderdeel naam in staat) tegenkomt en dan stop je.quote:Op donderdag 12 mei 2011 12:46 schreef DaFan het volgende:
[..]
Je kan toch eerst ophalen hoeveel regels er zijn
Kan ookquote:Op donderdag 12 mei 2011 13:01 schreef Pakspul het volgende:
[..]
Je kunt ook netzo lang doorgaan totdat je een lege regel (of cell waar onderdeel naam in staat) tegenkomt en dan stop je.
Nee. Je kan geen DRAAITABEL.OPHALEN gebruiken met een referentie naar een gesloten bestand.quote:Op donderdag 12 mei 2011 12:56 schreef styliste het volgende:
[..]
bedoel je met de eerste optie dan dat ik een draaitabel maak van de eerder genoemde draaitabel? (de originele draaitabel is beveiligd dus ik kan niet zien waar die de gegevens uit ophaalt..)
wat bedoel je precies met de 2e optie?
hoe kan ik dat doen als het bestand met de draaitabel beveiligd is? Ik heb dus een alleen-lezen bestand.quote:Op donderdag 12 mei 2011 13:09 schreef DaFan het volgende:
[..]
Nee. Je kan geen DRAAITABEL.OPHALEN gebruiken met een referentie naar een gesloten bestand.
Als het beveiligd is is het lastiger. Dan blijft alleen optie 2 over:
- In het bestand waar de draaitabel staat, gebruik je DRAAITABEL.OPHALEN. In het nieuwe bestand maak je een link naar die cel. Dat kan namelijk wel.
Ik denk dat het niet kan, behalve als je hem open laat staan...quote:Op donderdag 12 mei 2011 13:30 schreef styliste het volgende:
[..]
hoe kan ik dat doen als het bestand met de draaitabel beveiligd is? Ik heb dus een alleen-lezen bestand.
Zou datzelfde trucje met DAY herhalenquote:Op donderdag 12 mei 2011 14:10 schreef Misan het volgende:
Ik ben aan het stoeien met datumfuncties in Excel en ik loop tegen het volgende aan.
Ik heb een datum in veld A1: 31-03-2010
Ik wil de datum gebruiken in de tekst daaronder. In veld A2 staat de volgende formule:
="De datum andersom is "&YEAR(A1)&MONTH(A1)&DAY(A1)&" en daarom zingen wij blij!"
In plaats van dat er staat 20100331 staat er 2010331 met dus een 0 te weinig. Heeft iemand enig idee hoe ik dit kan tackelen?
edit: fixed
="De datum andersom is "&YEAR(A1)&TEXT(MONTH(A1);"00")&DAY(A1)&" en daarom zingen wij blij!"
Met "gewone" functies kan het wel als je de verwijzing naar het bestand inclusief gehele pad doetquote:Op donderdag 12 mei 2011 12:30 schreef styliste het volgende:
Questione:
Ik zit op mijn werk en heb voor een overzichtsklusje gegevens nodig uit een bestand dat door een collega is gemaakt. Dit bestand is veel te omslachtig, maar dat terzijde.
Hij heeft in zijn bestand gebruik gemaakt van DRAAITABEL.OPHALEN. werkt opzich prima, ik krijg de gegevens die ik nodig heb.
Als ik mn bestand met draaitabel maar geopend heb...
Als dit bestand niet geopend is krijg ik #VERW.
Iemand hier een oplossing voor?
http://support.microsoft.com/kb/299303quote:Op donderdag 12 mei 2011 15:14 schreef Deetch het volgende:
[..]
Ja maar dan moet je de verwijzing naar het bestand inclusief gehele pad doen:
='C:\Data\[Book1.xls]Sheet1'!$C$13
quote:Op donderdag 12 mei 2011 15:17 schreef DaFan het volgende:
[..]
http://support.microsoft.com/kb/299303
Stomme excel uitzonderingen.quote:Op donderdag 12 mei 2011 15:14 schreef Deetch het volgende:
[..]
Met "gewone" functies kan het wel als je de verwijzing naar het bestand inclusief gehele pad doet
=SQRT('C:\Data\[Book1.xls]Sheet1'!$C$13) werkt dat ook met draaitabel.ophalen?
Wat is vba? En is het makkelijk om output uit die draaitabellen te krijgen? Iedereen moet bij wijze van gemakkelijk de omzet van de afgelopen maand kunnen opvragen.quote:Op vrijdag 13 mei 2011 11:40 schreef Deetch het volgende:
In vba kun je een inputform (formulier) maken en vervolgens de informatie in een excelsheet zetten.
Daarna kun je met draaitabellen mooie overzichtjes maken.
Oke, het heeft geen haast en ik heb de tijd en ik vind het een mooi projectje dus ik ga me daar eens in verdiepen. Toevallig een tip waar ik mezelf de kennis eigen kan maken?quote:Op vrijdag 13 mei 2011 11:59 schreef Deetch het volgende:
vba is de programmeer taal visual basic (for applications).
Als je dat al moet vragen wordt het al een beetje lastig om mooie formuliertjes te maken.
Tja da's misschien nog wel een beter tip.quote:
Het is gelukt! Waarvoor dankquote:Op maandag 9 mei 2011 10:07 schreef Deetch het volgende:
Weekend begint op vrijdagmiddag op Fok!.
Kun je uit de voeten met de index functie icm column functie?
Ik ga er even vanuit dat de 9 in je verwijzing vast is dus H9, K9, N9 etc
Als je de onderstaande functie in A1 zet en naar rechts kopieert krijg je achtereen volgens de waarde uit H9, K9, N9 .
=INDEX(9:9,1,8+(COLUMN()-1)*3)
Voor de goeie kolom verwijzing moet je zelf even puzzelen hoeveel je van de Column() moet aftrekken. Voor D4 zou de formule als volgt worden:
=INDEX(9:9,1,8+(COLUMN()-4)*3)
Alvast bedankt!quote:Op vrijdag 13 mei 2011 15:40 schreef DaFan het volgende:
* gebruiken in SOMPROdUCT wordt afgeraden ivm performance.
Ik help je als ik thuis ben, zoiets lukt niet op telefoon :p
1 | =SUMPRODUCT(--($A$1:$A$8=A11);--($C$1:$C$8="Go");$B$1:$B$8) |
Die maakt van TRUE en FALSE resp 0 en 1, zodat je ermee kan rekenen (zo heb ik het ook maar geleerd ) Als je het er niet bij zet zal je zien dat het niet werkt.quote:
Hmz, dat lijkt heel erg op mijn functie, maar verschilt dus net op een belangrijk puntquote:Op vrijdag 13 mei 2011 21:04 schreef DaFan het volgende:
[..]
Die maakt van TRUE en FALSE resp 0 en 1, zodat je ermee kan rekenen (zo heb ik het ook maar geleerd ) Als je het er niet bij zet zal je zien dat het niet werkt.
Dit kan ook
=SUMPRODUCT(($A$1:$A$8=A11)*1;($C$1:$C$8="Go")*1;$B$1:$B$8)
Hoi Dafan,quote:
Ik denk dat DaFan bedoelde hoe je SUMPRODUCT()-formule er uit zagquote:Op zondag 15 mei 2011 20:53 schreef elkravo het volgende:
[..]
Hoi Dafan,
Ik probeer met sumproduct de een combi te maken van de 3 kolommen "code" "maand" en "jaar"... maar ik kom er niet uit welk bereik ik moet selecteren of moet vastpinnen op de waarde... Het moet toch kunnen?
Ik wil gewoon dat 'ie op zoekt op... code = BOOD, maand =5 en jaar is 2011 en dat ie dan op 45 komt...
Sumproduct is een leuke formule, maar nog redelijk abacadabra voor mij...
1 2 3 4 5 6 | 2011 5 2000 -45 -60 -10 |
Dan nog altijd SUMIFS (dus meerdere) anders wordt het wel een lastige array-formule.quote:Op zondag 15 mei 2011 21:33 schreef qu63 het volgende:
[..]
Ik denk dat DaFan bedoelde hoe je SUMPRODUCT()-formule er uit zag
Alternatief kan som.als() zijn trouwens..
Deze leek me ook overzichtelijker... toch krijg ik #NAAM? wat betekent dat?quote:Op zondag 15 mei 2011 21:36 schreef DaFan het volgende:
[..]
Dan nog altijd SUMIFS (dus meerdere) anders wordt het wel een lastige array-formule.
Kan hier ook trouwens:
=SUMIFS($F$3:$F$7;$J$3:$J$7;C$9;$I$3:$I$7;C$10;$G$3:$G$7;A11)
Wel stuk onoverzichtelijker!
Sumifs staat daar niet tussen...quote:Op zondag 15 mei 2011 22:31 schreef DaFan het volgende:
Zoiets...in de OP staat een link naar een vertaalsite.
Ik heb de NL versie hier niet.
Deze werkt wel... ik snap de bedoeling van "--" niet maar hij werkt BEDANKT!quote:Op zondag 15 mei 2011 21:33 schreef DaFan het volgende:
[ afbeelding ]
Waar B11=
=SUMPRODUCT(--($I$3:$I$7=B$10);--($J$3:$J$7=B$9);--($G$3:$G$7=A11);$F$3:$F$7)
En dan doorgetrokken naar beneden.
Je kan ook naar rechts/links doortrekken, maar heb dit ff snel in elkaar geklust.
Edit; omdat je Bij en Af hebt moet je aan het eind denk ik ff knutselen met een sommetje om je + en - goed te krijgen:
=SUMPRODUCT(--($I$3:$I$7=C$10);--($J$3:$J$7=C$9);--($G$3:$G$7=A11);-$F$3:$F$7+$E$3:$E$7)
Dan is dit je resultaat:
[ code verwijderd ]
Zoals in de OP staat, geef je versie + taal door als je iets vraagtquote:Op zondag 15 mei 2011 22:25 schreef elkravo het volgende:
[..]
Deze leek me ook overzichtelijker... toch krijg ik #NAAM? wat betekent dat?
Ik gebruik de NL versie dus SUMIFS wordt dan SOMMEN.ALS neem ik aan?
quote:Op maandag 16 mei 2011 01:23 schreef elkravo het volgende:
Hoi... zoals geschreven, de formule met SUMPRODUCT werkt goed... hij leest een tabel van dik 7700 records uit zoals moet.
Wel zit ik blijkbaar aan het randje qua performance van Excel...
Als ik in de oorspronkelijke tabel iets wijzig, of zelfs als ik selecteer dmv autofilter, start Excel met herberekenen... duurt nu een minuutjeof twee.
Kan ik van een bepaald tablad zo instellen dat de formules hier pas berekend worden als ik dat aangeef? Zodat ik voor de rest wat sneller kan blijven werken?
1 2 3 4 5 6 7 8 9 10 11 | Option Explicit Private Sub Worksheet_Activate() Application.Calculation = xlCalculationAutomatic End Sub Private Sub Worksheet_Deactivate() Application.Calculation = xlCalculationManual End Sub |
Hij doet het nog steeds niet. Het zal vast wel aan mij liggen, daar niet van.quote:Op dinsdag 17 mei 2011 15:56 schreef Pakspul het volgende:
=DATUMVERSCHIL(C8;D8;"y")
C8 = 1-1-2000
D8 = 1-1-2011
De derde parameter kun je nog veranderen waardoor de uitkomst anders wordt.
Hmm, nog nooit mee gewerkt.. De data komt uit meerdere sheets met, als het eenmaal af is, in totaal een 3000 regels..quote:
Is het nou 1 kolom, of meerdere sheetsquote:Op woensdag 18 mei 2011 11:18 schreef qu63 het volgende:
[..]
Hmm, nog nooit mee gewerkt.. De data komt uit meerdere sheets met, als het eenmaal af is, in totaal een 3000 regels..
Het zijn meerdere sheets waarvan ik kolom K uit wil lezenquote:Op woensdag 18 mei 2011 11:26 schreef Piles het volgende:
[..]
Is het nou 1 kolom, of meerdere sheets
Ga anders in A2 staan, kies Invoegen -> Draaitabel -> Tabel/bereik kolom K (K:K). Vervolgens zet je de kolomnaam in Rijlabels. Dan heb je een heel eind wat je wilt denk ik?
Dat had ik ook al bedacht, maar er komt regelmatig nieuwe data bij..quote:Op woensdag 18 mei 2011 12:03 schreef DaFan het volgende:
Autofilter uniques, copy paste? Maar dat is eenmalig
Oke het zal heel erg rookie overkomen, maar dat ben ik dan ook. Hoe komt deze formule er dan uit te zien als ik ook wil afronden naar boven of beneden?quote:Op woensdag 18 mei 2011 10:36 schreef DaFan het volgende:
In je originele vraag staat het antwoord; AFRONDEN eromheen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | For Each chtobj In ActiveSheet.ChartObjects MsgBox chtobj.Name If left(chtobj.Name,5) = "TYPE1" Then Hier wil ik dan voor alle grafieken die hier bij horen, 'ActiveChart.SeriesCollection(1).Values = "='#PO'!R4C8:R65C8" 'ActiveChart.SeriesCollection(1).Name = "" 'ActiveChart.SeriesCollection(2).XValues = "='#PO'!R4C1:R65C1" 'ActiveChart.SeriesCollection(2).Values = "='#PO'!R4C12:R65C12" Dit soort dingen opvragen en weer instellen na modificatie..... End If Next chtobj |
Uit DATUMVERSCHIL komt sowieso al een geheel getal. Dus afronden heeft niet zoveel zinquote:Op woensdag 18 mei 2011 15:10 schreef Henk1056 het volgende:
[..]
Oke het zal heel erg rookie overkomen, maar dat ben ik dan ook. Hoe komt deze formule er dan uit te zien als ik ook wil afronden naar boven of beneden?
=DATUMVERSCHIL(C8;D8;"y")
En weet je misschien ook hoe ik een hele kolom met mm/md/yyyy notaties gemakkelijk kan omzetten naar dd-mm-yyyy notaties?
Zit ik eindelijk weer s achter mn PCquote:Op donderdag 19 mei 2011 20:09 schreef Holy_Goat het volgende:
Laat maar.
Dikke oplossing gemacht und es funzt.
In A1 kan je de gebruiker A of B in laten vullen (eventueel te beveiligen dmv gegevensvalidatie, dan krijg je een fout als er geen A of B ingevuld is)quote:Op zondag 22 mei 2011 13:14 schreef Serrano het volgende:
Is het mogelijk om (met bijv een macro) de gebruiker een keuze te geven uit verschillende opties die allemaal een eigen setting hebben van gegevens in een bepaalde tabel.
Je kan bijv uit A en B kiezen. Als je voor A kiest, krijg je een tabel met
378 310 68 (ieder getal is een aparte cel)
Als je voor B kiest, krijg je een tabel met 378 320 58
Snap dat het weekend is, maar ik hoop dat er iemand is die het me kan vertellen of dit kan en wellicht op welke manier..
Die dropdown kan je ook maken met gegevensvalidatiequote:Op zondag 22 mei 2011 14:38 schreef DaFan het volgende:
Ik denk dat het met een VLOOKUP nog makkelijker is, gebaseerd op A1 en met alle gegevens in een hulpblad ergens verderop.
Je kan dan of bv een dropdown maken in A1.
Als je per se een knop wil kan dat ook, dan laat je de knop(pen) gewoon A1 vullen en de knoppen zet je eroverheen.
o rlyquote:Op zondag 22 mei 2011 15:49 schreef qu63 het volgende:
[..]
Die dropdown kan je ook maken met gegevensvalidatie
Met maar 2 waardes (A of B) vond ik dat een wat omslachtige manier.. Dit leek me een stuk overzichtelijker!quote:Op zondag 22 mei 2011 15:58 schreef DaFan het volgende:
[..]
o rly
Daar ging ik wel vanuit ja Als je dan toch al een lijst hebt met alle mogelijke waardes (je hebt immers de VLOOKUP tabel gemaakt) maak je daar een dynamic name van en die zet je weer in de dropdown met data validation.
Mee eens, met maar 2 waardes moet je het jezelf niet te lastig maken.quote:Op zondag 22 mei 2011 16:13 schreef qu63 het volgende:
[..]
Met maar 2 waardes (A of B) vond ik dat een wat omslachtige manier.. Dit leek me een stuk overzichtelijker!
Kijk, ik hield nu ook geen rekening met een mogelijke groei van waarden e.d. Voor deze vraag was dit een prima oplossing. Als de sheet groter zou kunnen worden en er meer variabelen in zouden kunnen komen in de toekomst is een dynamische tabel beter jaquote:Op zondag 22 mei 2011 16:16 schreef DaFan het volgende:
[..]
Mee eens, met maar 2 waardes moet je het jezelf niet te lastig maken.
Al heb ik (doe voor mn werk ook deels programmere - webdesign/SQL etc) wel door dat dynamischer = beter.
Dus ook al is het beetje omslachtig, maak je het jezelf (en degene na je die er aan werkt!) het een stuk gemakkelijker.
dat laatste kan met rechtermuisknop > kenmerkenquote:Op maandag 23 mei 2011 13:34 schreef actuarisje het volgende:
VBA vraag.
Ik heb op mijn excelsheet een (groot) aantal buttons. Om alles er mooi uit te laten zien, wil ik dat deze buttons de afmetingen van de cel krijgen waarin ze staan. Heeft iemand heer een idee/macro voor?
Het liefst zou ik (ook nog) hebben dat de buttons resizen op het moment dat de celgrootte wordt aangepast...
He zeg, qu63, doe jij ook wel eens wat met databases in excel?quote:Op zondag 22 mei 2011 16:25 schreef qu63 het volgende:
[..]
Kijk, ik hield nu ook geen rekening met een mogelijke groei van waarden e.d. Voor deze vraag was dit een prima oplossing. Als de sheet groter zou kunnen worden en er meer variabelen in zouden kunnen komen in de toekomst is een dynamische tabel beter ja
Maar goed, dat stond niet in de vraag vermeld dus hield ik het bij het beantwoorden van de vraag
Nopequote:Op maandag 23 mei 2011 14:18 schreef Holy_Goat het volgende:
[..]
He zeg, qu63, doe jij ook wel eens wat met databases in excel?
Ik denk dat als je de database kunt leze je em ook in kunt lezen in Excel.. Ervaring heb ik er niet mee!quote:Kan dat ook overal draaien? (werkomgeving met 0 rechten)
Dat dacht ik dus ook. Maar als ik dat instel (rechtermuisknop -> Format Control -> Properties en dan 'Move and size with cells'), veranderen ze toch echt niet mee als ik de cel groter/kleiner maak...quote:Op maandag 23 mei 2011 14:17 schreef Holy_Goat het volgende:
[..]
dat laatste kan met rechtermuisknop > kenmerken
Ctrl-H en vink Match case aan.quote:Op dinsdag 24 mei 2011 15:33 schreef mrbombastic het volgende:
Ik heb Office Excel 2003.
VBA heeft alle code waar Range(...) in voorkomt vervangen door range.
Dus Range("A1").Value is nu geworden range("A1").Value.
Dit vind ik niet mooi. Weet iemand hoe ik range weer met hoofdletter krijg?
Als ik het aanpas naar Range met een hoofdletter dan maakt VBA er ZELF weer range met een kleine letter van.quote:
1 2 3 4 | WisA WisB Eng 100012 Pietje Puk 6,1 7,2 5,6 099123 Theo Jansen 4,5 3,3 7,0 102399 Annie Schmidt 6,0 5,2 8,1 |
1 2 3 4 5 6 7 8 9 | 100012 Pietje Puk WisA 6,1 100012 Pietje Puk WisB 7,2 100012 Pietje Puk Eng 5,6 099123 Theo Jansen WisA 4,5 099123 Theo Jansen WisB 3,3 099123 Theo Jansen Eng 7,0 102399 Annie Schmidt WisA 6,0 102399 Annie Schmidt WisB 5,2 102399 Annie Schmidt Eng 8,1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Sub Kolom() ' ' Kolom Macro ' Dim c As Range Dim k As Integer, r As Integer k = Selection.Column + Selection.Columns.Count r = Selection.Row For Each c In Selection Cells(r, k) = c r = r + 1 Next c ' End Sub |
Excel 2007 NLquote:Op maandag 30 mei 2011 15:25 schreef Deetch het volgende:
Welke versie gebruik je.
Selecteer eerst je gegevens:
Druk de ctrl toets in en hou deze vast
Selecteer de gewenste datums (inclusief koptekst) uit kolom B
Selecteer de winst/verlies uit kolom S en zorg ervoor dat er voor elke cel van kolom B ook een cel van kolom S is geselecteer
Laat ctrl los
Maak een lijn grafiek
Stel dan je vervolgvragen.
Daar moet ik wel uitkomen.quote:Op maandag 30 mei 2011 16:35 schreef DaFan het volgende:
Nieuwe kolom met een running total per datum en die kiezen ipv de winst per dag.
Heb je de OP gelezen?quote:Op maandag 30 mei 2011 16:34 schreef nils7 het volgende:
Hallo
Ik moet tijden bij elkaar op tellen.
Maar het zijn geen standaard tijden.
Ik kom er niet uit met de oplossingen die ik via Google kan vinden.
Ik moet de werkuren hier van het bedrijf bij elkaar op tellen + de overuren etc.
Daar ik dit in totaal kan uitdraaien heb ik nogal grote getallen.
Ik heb bijvoorbeeld 27234:45 uren:min en daarbij wil ik de overuren 1041:33 bij op tellen.
Maar in Excel kan ik hier geen (ik heb celeigenschappen geprobeerd) optie voor vinden.
Iemand een idee?
Er moet 28.276:18 uitkomen?quote:Op maandag 30 mei 2011 16:34 schreef nils7 het volgende:
Hallo
Ik moet tijden bij elkaar op tellen.
Maar het zijn geen standaard tijden.
Ik kom er niet uit met de oplossingen die ik via Google kan vinden.
Ik moet de werkuren hier van het bedrijf bij elkaar op tellen + de overuren etc.
Daar ik dit in totaal kan uitdraaien heb ik nogal grote getallen.
Ik heb bijvoorbeeld 27234:45 uren:min en daarbij wil ik de overuren 1041:33 bij op tellen.
Maar in Excel kan ik hier geen (ik heb celeigenschappen geprobeerd) optie voor vinden.
Iemand een idee?
jaquote:
los van dit alles...quote:Op maandag 30 mei 2011 10:45 schreef -J-D- het volgende:
Beste DIG-vrienden,
Ik heb een Excel-bestand met daarin allerlei weddenschappen die ik heb afgesloten bij allerlei bookmakers. In dat bestand houd ik bij welke bets winnend zijn en welke niet.
Zie http://gyazo.com/2b386794881542599b5269455f9f3524.png
Zoals je ziet, zit er een kolom in waarbij per weddenschap wordt aangegeven wat de winst of verlies is. Nu wil ik graag een nieuw tabblad maken waar een grafiek in komt te staan. Deze grafiek moet de winst op de verticale as komen en de tijd op de horizontale as. Zoals je ziet hebben, sommige dagen geen weddenschappen en sommige dagen meerdere.
Ik heb weinig ervaring met Excel op wat basisvaardigheden na. Deze sheet is dan ook niet door mezelf ontworpen.
Het feit dat sommige dagen meerdere weddenschappen hebben en sommigen nul, maakt het voor mij niet makkelijker. Ook het feit dat ik gegegens uit een ander tabblad moet halen (aangezien de grafiek niet op dit blad moet komen) maakt het lastig.
Kan iemand mij vertellen hoe ik die grafiek kan maken? Ik heb al wat lopen stoeien met de grafieken, maar doe allerlei dingen fout. Krijg niet eens de assen juist
moet de invoer in 1 cel, of mag het ook in 2 cellen? (dus 1 cel met uur, 1 cel met minuut, en dat dus 2x)quote:
Ik gok niet, ik wed.quote:Op maandag 30 mei 2011 22:45 schreef Holy_Goat het volgende:
[..]
los van dit alles...
wut the fuck.
Hoeveel gok jij eigenlijk lijkt me niet heel gezond
dan is het goedquote:Op maandag 30 mei 2011 22:48 schreef -J-D- het volgende:
[..]
Ik gok niet, ik wed.
Geloof me of niet, maar ik heb de statistieken van de afgelopen 9 jaar bijgehouden. Geloof maar dat het winstgevend is. Twee weken op vakantie en dan niet wedden? Geen probleem.
Heb trouwens nog een extreem omslachtige formule voor je geklust voor als je beetje grappig wilt doenquote:
1 | =AFRONDEN.NAAR.BENEDEN((AFRONDEN.NAAR.BENEDEN(A1;0)*60+REST(A1;1)*100 + AFRONDEN.NAAR.BENEDEN(A2;0)*60+REST(A2;1)*100)/60;0)+REST((AFRONDEN.NAAR.BENEDEN(A1;0)*60+REST(A1;1)*100 + AFRONDEN.NAAR.BENEDEN(A2;0)*60+REST(A2;1)*100)/60;1)*0,6 |
Alleen in dit Excel bestand. Ik had er al 2 weken in gewerkt en opeens veranderden alle regels waar Range met een hoofdletter in staat naar range met een kleine letter.quote:Op donderdag 26 mei 2011 08:40 schreef Deetch het volgende:
Gebeurt dat in alle code die je maakt in VBA? Of alleen in een specifieke macro?
Probeer ik grappig te doen?quote:Op maandag 30 mei 2011 22:56 schreef Holy_Goat het volgende:
Heb trouwens nog een extreem omslachtige formule voor je geklust voor als je beetje grappig wilt doen
En dat terwijl het wel gewoon goed werktquote:
Aah oke ik ga er mee aan de gang, thnx.quote:Op maandag 30 mei 2011 22:56 schreef Holy_Goat het volgende:
[..]
dan is het goed
[..]
Heb trouwens nog een extreem omslachtige formule voor je geklust voor als je beetje grappig wilt doen
[ code verwijderd ]
(sorry, in het NL op deze pc, maar kan file wel geven)
in cel A1 heb je HH,MM staan (let op, met komma ipv : !)
in cel A2 heb je HH,MM staan (let op, met komma ipv : !)
Antwoord in dit geval in A3: 28276,18
copy pasta-en danquote:Op dinsdag 31 mei 2011 15:33 schreef nils7 het volgende:
[..]
Aah oke ik ga er mee aan de gang, thnx.
Excel is hier in het Nederlands dus dat scheelt.
1 2 3 4 5 6 7 8 9 10 11 12 | Tabel 1 a 2 b 3 c 4 Tabel 2 a c Gewenste uitkomst a 2 c 4 |
maar ik wil niets optellenquote:Op donderdag 2 juni 2011 10:44 schreef Pakspul het volgende:
Kijk eens naar som.als. als je maar één record van een mogelijk hebt moet de sommatie geen probleem leveren.
Dan zou er bij gewenste uitkomst ook "b -- 3" komen te staan, en dat moet niet..quote:Op donderdag 2 juni 2011 10:44 schreef Pakspul het volgende:
Kijk eens naar som.als. als je maar één record van een mogelijk hebt moet de sommatie geen probleem leveren.
met de aanname dat er meerdere combinaties van 'b' aanwezig zijn.quote:Op donderdag 2 juni 2011 11:08 schreef qu63 het volgende:
[..]
Dan zou er bij gewenste uitkomst ook "b -- 3" komen te staan, en dat moet niet..
In het voorbeeld komen alleen a en c in beide tabellen voor..quote:Op donderdag 2 juni 2011 11:17 schreef Pakspul het volgende:
[..]
met de aanname dat er meerdere combinaties van 'b' aanwezig zijn.
* Pakspul slingert de pc wel eens aan volling een voorgelegd te bouwen.
Kan het zo zijn dat in kolom F iets staat wat in A niet staat?quote:Op donderdag 2 juni 2011 11:29 schreef Misan het volgende:
http://uploadpic.org/v.php?img=EQ2PF9reXq
Ik wil een derde tabel maken waarin per cel uit kolom A gekeken wordt of deze in kolom F voorkomt en indien dit het geval is dan moet deze weergegeven worden. Als dat gelukt is dan kan ik met de uitkomst en een VLOOKUP de rest vullen.
jep en andersom ook dus ik maak een dergelijke vergelijking twee keer. Basiscel staat in elk geval in A.quote:Op donderdag 2 juni 2011 11:30 schreef qu63 het volgende:
[..]
Kan het zo zijn dat in kolom F iets staat wat in A niet staat?
quote:Sub BepaalDoorsnede()
Dim n1 As Integer, n2 As Integer
n1 = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row 'Aantal rijen in lijst 1
n2 = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row 'Aantal rijen in lijst 2
teller = 1
vorigeLetter = ""
For i = 1 To n2
On Error Resume Next
letter = Range("D" & i)
If letter <> vorigeLetter Then
getal = WorksheetFunction.VLookup(letter, Range("A1:B" & n1), 2, 0)
If Err.Number = 0 Then
Range("F" & teller) = letter
Range("G" & teller) = getal
teller = teller + 1
End If
vorigeLetter = letter
End If
Next i
End Sub
Kolom selecteren en dan het vak linksbovenin waar dan 8Rx1K oid staat vervangen door Datum/Naam/Bedrag/Whateverquote:Op vrijdag 3 juni 2011 13:04 schreef San_Andreas het volgende:
ik heb een uitgebreide tabel met kolommen en vooral heel veel rijen. Nu wil ik elke kolom een naam geven (bv datum, naam, bedrag). Dat is geen probleem maar er moet een manier zijn om dat handig te managen. Ik weet alleen niet hoe die functie/techniek in Excel heet.
volgens mij is dit hem (in OpenOffice geef ik toe):quote:Op maandag 6 juni 2011 09:25 schreef sanger het volgende:
Ik heb weer eens een vraag
Ik heb een tabel met 18 rijen. Deze rijen hebben een bepaalde index (getal van 1 - 18). Nu is een bepaald getal welke ik over die 18 rijen mag verdelen. Dit getal voer ik in in een invulveld.
Ik ben nu op zoek naar een formule die het te verdelen getal op de juiste manier verdeeld over de 18 rijen. Mocht dit getal hoger zijn dan 18, moet er eerst over iedere rij 1 bij geteld worden en vervolgens het restant verdeeld worden over de resterende rijen op basis van de index (waarbij de kleinste indexwaarde als eerst komt).
Dus bv. ik heb 22 te verdelen over de 18 rijen. Dan is dus op iedere rij 1, en op de 4 rijen met de laagste index dus een extra (dus eigenlijk 2).
Ik kan hier op me werk niet op uploadsites komen, maar ik heb een Excel uitgewerkt waar precies instaat wat ik wil. Die kan ik desgewenst wel mailen
Iemand een idee hoe dit te doen?
Een simpele manier om het op te lossen:quote:Op maandag 6 juni 2011 09:25 schreef sanger het volgende:
Ik heb weer eens een vraag
Ik heb een tabel met 18 rijen. Deze rijen hebben een bepaalde index (getal van 1 - 18). Nu is een bepaald getal welke ik over die 18 rijen mag verdelen. Dit getal voer ik in in een invulveld.
Ik ben nu op zoek naar een formule die het te verdelen getal op de juiste manier verdeeld over de 18 rijen. Mocht dit getal hoger zijn dan 18, moet er eerst over iedere rij 1 bij geteld worden en vervolgens het restant verdeeld worden over de resterende rijen op basis van de index (waarbij de kleinste indexwaarde als eerst komt).
Dus bv. ik heb 22 te verdelen over de 18 rijen. Dan is dus op iedere rij 1, en op de 4 rijen met de laagste index dus een extra (dus eigenlijk 2).
Ik kan hier op me werk niet op uploadsites komen, maar ik heb een Excel uitgewerkt waar precies instaat wat ik wil. Die kan ik desgewenst wel mailen
Iemand een idee hoe dit te doen?
quote:Op maandag 6 juni 2011 10:07 schreef San_Andreas het volgende:
[..]
volgens mij is dit hem (in OpenOffice geef ik toe):
A1 = 22
A2 = QUOTIENT( $A$1; 18)
A3 = REST( $A$1;18)
vervolgens stop je deze formule in je kolommen:
= $A$2+ ALS( EN($A$3 > 0 ; KOLOM(A14) <= $A$3); 1; 0)
gebruik RIJ ipv KOLOM als je met rijen wil werken
Ik krijg ze eigenlijk allebei niet goed.quote:Op maandag 6 juni 2011 10:09 schreef mrbombastic het volgende:
[..]
Een simpele manier om het op te lossen:
- Stel D1 is je invulveld (22).
- Stel kolom A is je kolom met indices (1-18).
Zet in D2: max(A:A)
- Zet in D3: =AFRONDEN.NAAR.BENEDEN(D1/D2;0)
- Zet in D4: =REST(E1;E2)
- Zet in B1: =E$3+ALS(A1<=E$4;1;0) en trek dit door naar beneden.
My bad, ik ben van kolom E naar kolom D verwisseld, alleen ben ik dit in de laatste 2 stappen vergeten.quote:Op maandag 6 juni 2011 10:50 schreef sanger het volgende:
[..]
[..]
Ik krijg ze eigenlijk allebei niet goed.
Misschien is het makkelijker als ik iets meer info geef over de sheet zelf
• Het te verdelen getal staat in D3
• De indices staan in C6 tm C23
• Het resultaat van de formule moet in E6 tm E23 terechtkomen
Nu werkt het inderdaad Top, dank je welquote:Op maandag 6 juni 2011 10:57 schreef mrbombastic het volgende:
[..]
My bad, ik ben van kolom E naar kolom D verwisseld, alleen ben ik dit in de laatste 2 stappen vergeten.
- Zet in D4 (of ergens anders): =AANTAL(C6:C23)
- Zet in D5 (of ergens anders): =AFRONDEN.NAAR.BENEDEN(D3/D4;0)
- Zet in D6 (of ergens anders): =REST(D3;D4)
- Zet in E6: =D$5+ALS(C6<=D$6;1;0) en trek dit door naar beneden.
Wat wil je precies dat Excel voor je doet?quote:Op dinsdag 7 juni 2011 11:45 schreef DoorgestokenKaart het volgende:
Ik heb in excel een hele waslijst aan grootboekrekeningen die steeds verder gespecificeerd worden. Het hoogste (minst gespecificeerde) niveau is 2 cijfers (10, 11, 20, 30 etc. etc.) en het diepste (meest gespecificeerde) niveau bestaat uit 8 cijfers.
Nu wil ik graag in excel vanaf het hoogste niveau (2 cijfers) steeds verder kunnen specificeren naar het niveau met 8 cijfers. Weet iemand of dit mogelijk is in excel? Ik heb hier niet de beschikking over andere softwarepakketten.
Een beetje dit idee:
[ afbeelding ]
Met automatische opmaak en wat als()-formules moet je toch ver kunnen komen ;-)quote:Op dinsdag 7 juni 2011 12:11 schreef DaFan het volgende:
Gegevens - Groeperen
Maar wordt niet zo mooi als hierboven
Tnxquote:
Ik wil het overzichtelijker hebben. Het is een lijst van ruim 20.000 grootboekrekeningen. Ik wil graag als eerste overzicht alle groepboekrekeningen met 2 cijfers zichtbaar hebben, en van daaruit verder specificeren.quote:Op dinsdag 7 juni 2011 12:06 schreef qu63 het volgende:
[..]
Wat wil je precies dat Excel voor je doet?
Je kan gewoon in kolom A de grootboekrekening invullen (van 2 tot 8 cijfers dus) en dan in B de naam, in C en D debet en credit, etc.
Waar in SAP? Zo goed ben ik niet met SAP.quote:
Met MySAP ERP Financials kan je het wel voor elkaar krijgen hoorquote:Op woensdag 8 juni 2011 15:28 schreef DaFan het volgende:
Of in SQL, of Exact of in Access of in Paint.
Sap is ERP Deetch...
1 2 3 4 5 | Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("C23")) Is Nothing Then Call Vernieuwen End If End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | Sub Vernieuwen() ' ' Vernieuwen Macro ' ' Sneltoets: Ctrl+Shift+V ' Application.ScreenUpdating = False Sheets("Hulpsheet Sven").PivotTables("Draaitabel9").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel9").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel10").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel10").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel11").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel11").PivotFields("Adviseur STEW").AutoSort _ xlAscending, "Adviseur STEW" Sheets("Hulpsheet Sven").PivotTables("Draaitabel12").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel12").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel13").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel13").PivotFields("Adviseur FCBV mbt MB!"). _ AutoSort xlAscending, "Adviseur FCBV mbt MB!" Sheets("Hulpsheet Sven").PivotTables("Draaitabel14").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel14").PivotFields( _ "Adviseur FCBV voor MB opdracht").AutoSort xlAscending, _ "Adviseur FCBV voor MB opdracht" Sheets("Hulpsheet Sven").PivotTables("Draaitabel15").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel15").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel16").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel16").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel17").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel17").PivotFields("Adviseur FCBV mbt IFB"). _ AutoSort xlAscending, "Adviseur FCBV mbt IFB" Sheets("Hulpsheet Sven").PivotTables("Draaitabel18").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel18").PivotFields("Adviseur STEW").AutoSort _ xlAscending, "Adviseur STEW" Sheets("Hulpsheet Sven").PivotTables("Draaitabel19").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel19").PivotFields("Adviseur STEW").AutoSort _ xlAscending, "Adviseur STEW" Sheets("Hulpsheet Sven").PivotTables("Draaitabel20").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel20").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel21").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel21").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel22").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel22").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel23").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel23").PivotFields("Adviseur FCBV").AutoSort _ xlAscending, "Adviseur FCBV" Sheets("Hulpsheet Sven").PivotTables("Draaitabel27").PivotCache.Refresh Sheets("Hulpsheet Sven").PivotTables("Draaitabel27").PivotFields("Totaal").AutoSort _ xlAscending, "Totaal" Application.ScreenUpdating = True End Sub |
Kan je iets duidelijker zijn?quote:
Bovenstaand is hetzelfde als:quote:Op donderdag 9 juni 2011 13:24 schreef DaFan het volgende:
Nee telefoon typt kut :p
With Range("A1")
.value = 4
.interior = black
End With
Snap je ??
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub test() Dim arrPivot As Variant pivot = Array(9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23) For i = 0 To 12 'eerste element van een array heeft altijd volgnummer 0 MsgBox pivot(i) With Range("A" & pivot(i)) ''hier gebruik je de varabele uit de pivot array als rijnummer .Value = pivot(i) .Interior.ColorIndex = pivot(i) End With Next End Sub |
Duidelijk!quote:Op donderdag 9 juni 2011 13:49 schreef Deetch het volgende:
[..]
Bovenstaand is hetzelfde als:
Range("A1").value = 4
Range("A1").interior = black
Dus alle dubbele stukken in je object beschrijving kun je dan weglaten.
Als je dan vervolgens ook nog het pivottabelnummer variabel maakt kun je volgens mij een loopje maken om elke keer die tabellen te vernieuwen.
probeer onderstaande code eens te doorgronden een aan te passen aan jouw situatie:
[ code verwijderd ]
In plaats van Range("A" & pivot( i)) gebruik je:
Sheets("Hulpsheet Sven").PivotTables("Draaitabel"&pivot( i))
=SOMPRODUCT((A1:B4="tekst")*(C5:F20="tekst"))quote:Op donderdag 9 juni 2011 14:09 schreef Deetch het volgende:
Kun je trouwens in excel 2007 een COUNTIF functie doen over meerdere losstaande bereiken?
Ik wil nl tellen hoevaak er een bepaalde tekst staat in het cellenbereik A2:B4 en C5:F20
De simpelste oplossing is natuurlijk: =countif(A2:B4,"tekst")+countif(C5:F20,"tekst") maar dat vind ik niet mooi, ik wil 1 formule.
Wat niet werkt is: =COUNTIF((A1:B4,C5:F20),"tekst") of =COUNTIF(A1:B4&C5:F20,"tekst")
of =COUNTIF(BEREIKJE,"tekst") (waarbij BEREIKJE de named range A2:B4 en C5:F20 is)
Wie heeft de gouden tip (iets met SUMPRODUCT ofzo??)
Hmz, deze regel blijft een foutmelding geven..quote:Op donderdag 9 juni 2011 13:49 schreef Deetch het volgende:
[..]
Bovenstaand is hetzelfde als:
Range("A1").value = 4
Range("A1").interior = black
Dus alle dubbele stukken in je object beschrijving kun je dan weglaten.
Als je dan vervolgens ook nog het pivottabelnummer variabel maakt kun je volgens mij een loopje maken om elke keer die tabellen te vernieuwen.
probeer onderstaande code eens te doorgronden een aan te passen aan jouw situatie:
[ code verwijderd ]
In plaats van Range("A" & pivot( i)) gebruik je:
Sheets("Hulpsheet Sven").PivotTables("Draaitabel"&pivot( i))
1 | With Sheets("Hulpsheet Sven").PivotTables("Draaitabel" & pivot(I)).PivotCache.Refresh ''hier gebruik je de variabele uit de pivot array als rijnummer |
1 | Sheets("Hulpsheet Sven").PivotTables("Draaitabel27").PivotCache.Refresh |
1 2 3 4 5 6 | Dim pt As PivotTable For Each pt In Sheets("Hulpsheet Sven").PivotTables pt.PivotCache.Refresh pt.PivotFields("Adviseur").AutoSort _ xlAscending, "Adviseur" Next pt |
1 2 3 4 | Amsterdam H Rotterdam I Hilversum X [..] |
Die * heb ik hier van t forum..quote:Op donderdag 9 juni 2011 15:08 schreef DaFan het volgende:
Lekker bezig.
Geen * gebruiken in Somproduct (performance-technisch)
Denk ook aan -- anders werkt hwt niet meer
Als de waarde 1 is dan alleen som C1? en 0=0?quote:Op donderdag 9 juni 2011 15:59 schreef icebeer het volgende:
ik kom er ff niet meer uit
bijv:
ik heb in kolom B het volgende staan:
B1 2
B2 0
B3 0
B4 4
B5 0
B6 0
B7 0
met allerlei waarden in kolom C
nu wil ik een formule hebben waarbij het volgende gebeurt:
A1: =IF (B1=2 dan SUM (C1+C2)
A3 = IF (B4=4 dan SUM (C4+C5+C6+C7)
dus als in B een bepaalde waarde staat (bijv 6) wil ik van die rij + de 5 opvolgende in rij C de som hebben
iemand die mij de goede weg op kan sturen
maakt niet uit hoe omslachtig het is, als hij maar werkt
=SUMPRODUCT(--(A2:B4="tekst"),--(C5:D7="tekst"))quote:
Omdat "tekst"+"tekst" ook 0 is. Hadden er getallen gestaan dan had er 6289568 uit kunnen komen ipv 13.quote:Op donderdag 9 juni 2011 16:14 schreef Deetch het volgende:
[..]
=SUMPRODUCT(--(A2:B4="tekst"),--(C5:D7="tekst"))
Dan komt er 0 uit in plaats van 13 zoals ik met de hand tel.
quote:=COUNTIF(A2:B4,"tekst")+COUNTIF(C5:F20,"tekst") geeft overigens ook 13.
1 | =VERGELIJKEN("*Adviseur*";'Amsterdam MB'!A4:Q4;0) |
1 | =VERGELIJKEN("*Adviseur*";"'"&A35&"'!A4:Q4";0) |
wow super!quote:Op donderdag 9 juni 2011 16:11 schreef Deetch het volgende:
[..]
Als de waarde 1 is dan alleen som C1? en 0=0?
=IF(B1=0,0,SUM(INDIRECT("C"&ROW(B1)&":C"&ROW(B1)+B1-1)))
Of is dit een limitatie van Vergelijken() en moet het met een macro?quote:Op donderdag 9 juni 2011 16:19 schreef qu63 het volgende:
[ code verwijderd ]
Nu moet alleen 'Amsterdam MB' variabel worden..
Als ik het zo doe werkt het niet:
[ code verwijderd ]
In A35 staat dus Amsterdam MB
Sorry jullie hebben gelijk, het was eigenlijk tellen.quote:Op donderdag 9 juni 2011 16:17 schreef qu63 het volgende:
[..]
Omdat "tekst"+"tekst" ook 0 is. Hadden er getallen gestaan dan had er 6289568 uit kunnen komen ipv 13.
[..]
=VERGELIJKEN("*Adviseur*";INDIRECT(A35 & "!A4:Q4");0)quote:Op donderdag 9 juni 2011 16:19 schreef qu63 het volgende:
[ code verwijderd ]
Nu moet alleen 'Amsterdam MB' variabel worden..
Als ik het zo doe werkt het niet:
[ code verwijderd ]
In A35 staat dus Amsterdam MB
INDIRECT(A35 & "!A4:Q4") wordt bij mij vervangen door #VERW (Excel 2010 NL)..quote:Op donderdag 9 juni 2011 19:35 schreef DaFan het volgende:
[..]
=VERGELIJKEN("*Adviseur*";INDIRECT(A35 & "!A4:Q4");0)
Volgens mij hoeven de enkele aanhalingstekens er niet omheen. Bij mij niet iig (Office 2010)
Sorry wel aanhalingstekens! Je hebt een spatie in je sheetnaamquote:Op vrijdag 10 juni 2011 09:09 schreef qu63 het volgende:
[..]
INDIRECT(A35 & "!A4:Q4") wordt bij mij vervangen door #VERW (Excel 2010 NL)..
Klopt, deze werkt wel:quote:Op vrijdag 10 juni 2011 09:11 schreef DaFan het volgende:
[..]
Sorry wel aanhalingstekens! Je hebt een spatie in je sheetnaam
1 | =VERGELIJKEN("*Adviseur*";INDIRECT("'"&A35&"'!A4:Q4");0) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Function UNIQUE(InputRange As Range, ItemNo As Long) As Variant Dim cl As Range, cUnique As New Collection, cValue As Variant Application.Volatile On Error Resume Next For Each cl In InputRange If cl.Formula <> "" Then cUnique.Add cl.Value, CStr(cl.Value) End If Next cl UNIQUE = "" If ItemNo = 0 Then UNIQUE = cUnique.Count Else If ItemNo <= cUnique.Count Then UNIQUE = cUnique(ItemNo) End If End If On Error GoTo 0 End Function |
1 | =UNIQUE("'"&A34&"'!$"&B34&"$6:$"&B34&"$106";1) |
1 | =UNIQUE('Amsterdam IMB'!$H$6:$H$106;1) |
Tja dat is niet echt een verbetering tov het optellen van de countifs maar toch bedankt.quote:Op donderdag 9 juni 2011 19:32 schreef DaFan het volgende:
[..]
Sorry jullie hebben gelijk, het was eigenlijk tellen.
Ik heb nog deze:
=SUM(IF(A2:B4="tekst";1)+IF(C5:F20="tekst";1))
Ctrl-Shift-Enter
Ja! Thanks!quote:Op vrijdag 10 juni 2011 10:38 schreef Deetch het volgende:
Je functie UNIQUE verwacht een range en niet een string (tekst).
Als je =UNIQUE(INDIRECT("'"&A34&"'!$"&B34&"$6:$"&B34&"$106");1) doet zou het wel moeten werken.
mee eens maar ik krijg het niet anders voor elkaar..quote:Op vrijdag 10 juni 2011 10:39 schreef Deetch het volgende:
[..]
Tja dat is niet echt een verbetering tov het optellen van de countifs maar toch bedankt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Function UNIQUE(InputRange As Range, ItemNo As Long) As Variant Dim cl As Range, cUnique As New Collection, cValue As Variant Application.Volatile On Error Resume Next For Each cl In InputRange If cl.Formula <> "" Then cUnique.Add cl.Value, CStr(cl.Value) End If Next cl UNIQUE = "" If ItemNo = 0 Then UNIQUE = cUnique.Count Else If ItemNo <= cUnique.Count Then UNIQUE = cUnique(ItemNo) End If End If On Error GoTo 0 End Function |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Sub Vernieuwen() ' ' Vernieuwen Macro ' ' Sneltoets: Ctrl+Shift+V ' Application.ScreenUpdating = False Dim c As Range For Each c In Sheets("Hulpsheet Sven").Range("A32:A58") c.ClearContents Next c Dim Ws As Worksheet, Wb As Workbook, R As Range, S As Integer Set Wb = ActiveWorkbook Set R = Sheets("Hulpsheet Sven").Range("a32") S = 1 For Each Ws In Wb.Worksheets R.Cells(S, 1) = Ws.Name S = S + 1 Next Ws Application.ScreenUpdating = True End Sub |
Dit scheelt al bijna 10 sec!quote:Op vrijdag 10 juni 2011 14:53 schreef Deetch het volgende:
Dim c As Range
For Each c In Sheets("Hulpsheet Sven").Range("A32:A58")
c.ClearContents
Next c
Kun je dat niet net zo goed vervangen door:
Sheets("Hulpsheet Sven").Range("A32:A58").ClearContents?
Nu gaat de macro elke cel apart clearen.
Hoe zou ik dat anders moeten doen dan?quote:IN die tweede loop roep je een cel aan: R.Cells(s,1) als onderdeel van een range. Maar daarboven definieer je de range als 1 cel A32, kan het daar aan liggen?
Vanaf cel A32 naar beneden wil ik een lijst met sheetnamenquote:Op zondag 12 juni 2011 17:58 schreef Deetch het volgende:
leg eerst eens uit wat je met die tweede code wilt bewerkstelligen? Dan zal ik na de pinksteren eens een poging wagen.
quote:Op maandag 13 juni 2011 01:41 schreef qu63 het volgende:
[..]
Vanaf cel A32 naar beneden wil ik een lijst met sheetnamen
1 2 3 | For i = 1 To Sheets.Count Range("A" & i + 31) = Sheets(i).Name Next i |
zo ga je van 20 regels code naar 6 dat is vast sneller.quote:
quote:
1 2 3 4 | dim ws as worksheet for each ws in thisworkbook.sheets .... ws.name gebruiken next ws |
Hmz, die code kost me alasnogruim 20 seconden.. Geen verbetering t.o.v. dit dus:quote:
1 2 3 4 5 6 7 8 | Dim Ws As Worksheet, Wb As Workbook, R As Range, S As Integer Set Wb = ActiveWorkbook Set R = Sheets("Hulpsheet Sven").Range("a32") S = 1 For Each Ws In Wb.Worksheets R.Cells(S, 1) = Ws.Name S = S + 1 Next Ws |
Qua tijd niet...code wel. Korter is beterquote:Op woensdag 15 juni 2011 09:14 schreef qu63 het volgende:
[..]
Hmz, die code kost me alasnogruim 20 seconden.. Geen verbetering t.o.v. dit dus:
[ code verwijderd ]
Ik denk dat het vooral komt door bijna 800 cellen met een UNIQUE()-functie..quote:Op woensdag 15 juni 2011 10:24 schreef DaFan het volgende:
[..]
Qua tijd niet...code wel. Korter is beter
Misschien moet je calculate ook ff uitzetten. Het zou best een kunnen dat Excel gaat rekenen als de macro de sheet raadpleegt?
17 lege sheets duurt <1 sec
Ik denk gewoon met een IF, volgens mij evalueert ie pas FALSE of TRUE na de IFquote:Op woensdag 15 juni 2011 11:37 schreef qu63 het volgende:
Nu moet ik alleen nog iets bedenken hoe ik die UNIQUE-functie lege cellen over kan laten slaan en of deze nog sneller kan. In grote sheets duurt het namelijk soms 0,5sec voordat ik weer verder kan..
1 2 3 4 5 6 7 8 | For Each cl In InputRange If cl.Formula <> "" Then cUnique.Add cl.Value, CStr(cl.Value) Else Goto Volgende End If Volgende: Next cl |
dan stopt de code toch bij de eerste de beste lege cel? vraag me af of dat de bedoeling is.quote:
Aangepast, thanks.quote:Op woensdag 15 juni 2011 13:12 schreef Deetch het volgende:
[..]
dan stopt de code toch bij de eerste de beste lege cel? vraag me af of dat de bedoeling is.
Helaas, het veranderd niets, ik krijg nog steeds in een lijst unieke waarden een lege celquote:
Is je waarde in cl leeg leeg of is hij leeg door een formule?quote:Op woensdag 15 juni 2011 13:29 schreef qu63 het volgende:
[..]
Helaas, het veranderd niets, ik krijg nog steeds in een lijst unieke waarden een lege cel
1 | =IF(ROW(A1)=4;"";ROW(A1)) |
1 2 3 4 5 | For Each cl In InputRange If cl.Value<> "" Then cUnique.Add cl.Value, CStr(cl.Value) End If Next cl |
Check! Er staan idd formules inquote:Op woensdag 15 juni 2011 13:48 schreef DaFan het volgende:
[..]
Is je waarde in cl leeg leeg of is hij leeg door een formule?
Want dan is cl.Formula natuurlijk nooit ""
cl.Value <> "" is dan beter
vb;
Als ik A1:A10 heb staan
[ code verwijderd ]
(doorgetrokken)
Dan geeft cl.Value = 9
cl.Formula = 10
Edit, zo dus:
[ code verwijderd ]
http://www.contextures.com/xldataval02.htmlquote:Op woensdag 15 juni 2011 14:35 schreef McCandless het volgende:
Ik werk met Excel 2003 en heb daar een 2 keuzelijsten gemaakt. Alleen wil ik hierbij iets bewerkstelligen waarvan ik me afvraag of dit mogelijk is.
Ik heb dus 2 keuze-lijsten, stel 1 in A1 en 1 in A2.
De keuze's die ik bij A2 wil laten verschijnen moeten echter afhankelijk zijn van wat ik bij A1 gekozen heb. Bijvoorbeeld:
Keuze's A1:
Kosten
Opbrengsten
Keuze's A2:
Directe kosten
Indirecte kosten
Vaste opbrengsten
Losse opbrengsten
Directe kosten en indirecte kosten moeten dan alleen verschijnen als ik in A1 kosten heb gekozen.
Kan dit?
Niet veranderd, maar nu hoef ik niet om lege cellen heen te werkenquote:
Mooi! Nextquote:Op woensdag 15 juni 2011 14:38 schreef qu63 het volgende:
[..]
Niet veranderd, maar nu hoef ik niet om lege cellen heen te werken
De macro die te lang duurde is sneller geworden door het uitschakelen van het berekenen
Mijn dank is groot!quote:Op woensdag 15 juni 2011 14:37 schreef DaFan het volgende:
[..]
http://www.contextures.com/xldataval02.html
Sorry, ik heb even niets meer M'n sheets zijn nu weer snel en ze doen wat ze moeten doen!quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Sub ShowOrHide(tabloid As String, sColumn As Integer, startRow As Integer, endRow As Integer, Hide, Level) Dim wsData As Worksheet Set wsData = Worksheets(tabloid) Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Call UnProtect_WorkSheets(tabloid) For i = startRow To endRow Select Case Hide Case 0: If Cells(i, sColumn) <= Level Then wsData.Rows(i).Hidden = True 'Hide Case 1: If Cells(i, sColumn) <= Level Then 'Unhide wsData.Rows(i).Hidden = False Else wsData.Rows(i).Hidden = True End If Case 2: 'Unhide extra Level If Cells(i, sColumn) <= Level + 1 Then wsData.Rows(i).Hidden = False Else wsData.Rows(i).Hidden = True End If End Select Next i Call Protect_WorkSheets(tabloid) End Sub |
Volgens mij was er bij Excel 2010 in de VBA nogal wat aangepast misschien dat dat de oorzaak is.quote:Op donderdag 16 juni 2011 08:21 schreef actuarisje het volgende:
Hi All,
Ik heb een stukje code dat bepaalt of de regels in een bepaalde sectie wel of niet moeten worden laten zien.
[ code verwijderd ]
Ik run deze macro op een sectie van zo'n 4000 regels. Onder Excel 2007 duurt dat zo'n 5 seconden. Onder 2010 duurt het echter zo'n 150 seconden. Das dus 30x zo lang :S
Iemand enig idee waar dit verschil in snelheid vandaan komt?
Nee. De workaround die je kunt toepassen:quote:Op donderdag 16 juni 2011 08:48 schreef yozd het volgende:
Ik heb in Excel 2007 wat staafdiagrammen gemaakt. Deze heb ik gekopieerd naar Word, maar ze verschijnen alleen goed in beeld als ik copy/paste doe. Diegene naar wie ik het moet opsturen, wil het echter hebben als copy/paste special --> enhanced metabestand. Probleem is dan echter dat die de layout verpest. Hij laat de x-as en de rechter y-as helemaal niet meer zien!
Weet iemand hoe dat kan?
En dan nog een vreemder iets; als ik gewoon copy/paste in een Word bestand, ziet alles er goed uit, maar als een collega hetzelfde bestand opent, in dezelfde versie van Word, dan ziet hij de x-as en rechter y-as ook niet! Herkent iemand dit?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Sub trimit() startTime = Time Application.ScreenUpdating = False Application.Calculation = xlManual Dim h As Long For h = 1 To Sheets("Data HO Sven").Range("A65536").End(xlUp).Row Range("A" & h).Value = trim(Range("A" & h).Value) Next Dim v As Long For v = 1 To Sheets("Data VP").Range("A65536").End(xlUp).Row Range("A" & v).Value = trim(Range("A" & v).Value) Next Application.Calculation = xlAutomatic Application.ScreenUpdating = True stopTime = Time elapsedTime = (stopTime - startTime) * 24 * 60 * 60 duur = Application.WorksheetFunction.Round(elapsedTime, 2) MsgBox "Klaar! Het trimmen duurde " & duur & " seconden." & Chr(13) End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Sub trimit() startTime = Time Application.ScreenUpdating = False Application.Calculation = xlManual On Error GoTo errhandler Dim h As Long For h = 1 To Sheets("Data HO Sven").Range("A65536").End(xlUp).Row Range("A" & h).Value = trim(Range("A" & h).Value) Next Dim v As Long For v = 1 To Sheets("Data VP").Range("A65536").End(xlUp).Row Range("A" & v).Value = trim(Range("A" & v).Value) Next errhandler: Application.Calculation = xlAutomatic Application.ScreenUpdating = True stopTime = Time elapsedTime = (stopTime - startTime) * 24 * 60 * 60 duur = Application.WorksheetFunction.Round(elapsedTime, 2) MsgBox "Klaar! Het trimmen duurde " & duur & " seconden." & Chr(13) End Sub |
Dan ga ik het maar op deze manier doen denk ik. Bedankt!quote:Op donderdag 16 juni 2011 09:24 schreef Deetch het volgende:
[..]
Nee. De workaround die je kunt toepassen:
Screendump maken (CTRL+printScreen)
Plakken in paint of ander tekenprogramma
Selectie hieruit kopieren
Plakken speciaal als metabestand
Office 2010 gebruiken Daar zit een screenshot functie in!quote:Op donderdag 16 juni 2011 11:14 schreef yozd het volgende:
[..]
Dan ga ik het maar op deze manier doen denk ik. Bedankt!
1 2 3 4 5 | A B C 15 15 15 15 60 100% |
1 2 3 4 | 15 Done 15 Done 15 15 60 50% |
Nope, echt regel 8quote:
copy-pastequote:Waarom maak je h een Long?
idem..quote:Waarom zet je niet neer "Next h" ipv "Next", volgens mij is dit geen correcte syntax
alleen wel komma gebruiken ipv ;quote:Op donderdag 16 juni 2011 12:35 schreef DaFan het volgende:
=SUMIF(B1:B4;"=Done";A1:A4)/C4
(Neem aan dat '60' in C4 staat, niet in B4).
Moet je je taal er maar bij zetten zoals in de OP staatquote:
had al SUM gebruikt in plaats van SOMquote:Op donderdag 16 juni 2011 13:46 schreef DaFan het volgende:
[..]
Moet je je taal er maar bij zetten zoals in de OP staat
ik bedenk me net dat als je iets overslaat, dat het dan ook op zich 'gedaan' is.. kun je een OR als criterium van de SUMIF geven? dan kan ik gewoon find&replace gebruiken namelijkquote:
Niet te moeilijk doen imo;quote:Op donderdag 16 juni 2011 16:06 schreef 314 het volgende:
[..]
ik bedenk me net dat als je iets overslaat, dat het dan ook op zich 'gedaan' is.. kun je een OR als criterium van de SUMIF geven? dan kan ik gewoon find&replace gebruiken namelijk
ik wil dus =SUMIF(B1:B4;"=Done" of "=Skip";A1:A4)/C4 maar hoe ik het ook draai, wend, keer, probeer tussen haakjes erin te krijgen, Excel pikt het niet
Niet waar. Heb je het geprobeerd?quote:Op donderdag 16 juni 2011 16:30 schreef 314 het volgende:
als je dat doet dan telt ie A1:A4 dubbel, deelt ie door C4 en krijg je 2x zo hoge waarden.
Nee ik heb alle opties wel gehad. SUMIFS kan ook niet dat is voor EN, niet voor OR.quote:Op donderdag 16 juni 2011 16:57 schreef Deetch het volgende:
=SUMIF(B1:B4;OR("=Done";"=Skip");A1:A4)/C4 werkt ook niet?
SUM(IF(B1:B4="Done";IF(B1:B4="Skip";A1:A4/C4;"Fout!"))quote:Op donderdag 16 juni 2011 18:10 schreef DaFan het volgende:
[..]
Nee ik heb alle opties wel gehad. SUMIFS kan ook niet dat is voor EN, niet voor OR.
SUMPRODUCT kan ook niet...
Maar als het je lukt hou ik me ook aanbevolen.
Je moet SUBSTITUEREN gebruiken ipv VERVANGEN.quote:Op vrijdag 17 juni 2011 12:25 schreef hetzusjevan het volgende:Is er een manier waar op ik de drie 1'tjes in een 2 kan veranderen met een commando in Excel?
Alvast bedankt .
Ik gebruik Office 2007, NL
quote:Op vrijdag 17 juni 2011 12:41 schreef DaFan het volgende:
[..]
Je moet SUBSTITUEREN gebruiken ipv VERVANGEN.
=SUBSTITUEREN (A1;1;2)
Thanks beide! Heb beide opties kunnen gebruiken voor verschillende doeleinden, het is nu oplost .quote:
De functie cel() gebruikt altijd de laatst actieve cel, behalve als je er een referentie achter plakt. In jouw geval dus A1quote:Op vrijdag 17 juni 2011 13:25 schreef yozd het volgende:
Ik gebruik in een Excel document (document X) de formule:
A3=cel("bestandsnaam")
mbv de naam van de directory waar alles in staat zoek ik bepaalde waarden in een matrix. Dat werkt allemaal goed. Maar als ik nu een ander Excel document open (in een andere directory) met X open, dan verandert die die de waarde van A3 in X (hij neemt de directory naam over van de directory waarin het nieuwe bestand staat).
Is dat probleem op te lossen?
-edit-
Heb het probleem opgelost met een cell referentie: cel("bestandsnaam",A1)
Maar ik heb geen idee wat ik doe...
http://www.rondebruin.nl/sendmail.htmquote:Op vrijdag 17 juni 2011 14:14 schreef qu63 het volgende:
Is het mogelijk om in Outlook een mail op te stellen met variabelen uit een Excelsheet?
Dus "Hallo %naam%, blablabal %meerblabla%" in de tekst en ook de naam en het emailadres in de header..
Ik wil de mail nog wel normaal op kunnen maken in Outlook. De (weliswaar handige) opties die ik daar zie geven mij die optie nietquote:
Of met deze functie: [Excel] Het grote Excel vragen topic #26quote:Op zondag 19 juni 2011 09:32 schreef hendrik2009 het volgende:
Hiervoor is de draaitabel (pivot table) in het leven geroepen.
Menu invoegen/insert, dan draaitabel/pivot table.
Sleep de klantnaam in de rijlabels en het bedrag naar het waardeveld.
google anders even.
Nee die werkt niet, aangezien er geen cellen zijn samengevoegd, het is 1 cel die ik breder heb gemaakt.quote:Op woensdag 22 juni 2011 14:07 schreef crossover het volgende:
Kijk eens bij start - Uitlijning en dan onder samenvoegen en centreren: 'samenvoegen van cellen opheffen'.
Extra kolom toevoegen en dan de cellen erboven op iedere regel samenvoegenquote:Op woensdag 22 juni 2011 14:17 schreef loeders het volgende:
[..]
Nee die werkt niet, aangezien er geen cellen zijn samengevoegd, het is 1 cel die ik breder heb gemaakt.
1 2 | In cel B1: = LINKS(A1,LENGTE(A1)-2) |
1 | = ISGETAL(B1) |
1 | =ALS(ISGETAL(LINKS(A1;1))=WAAR;VERT.ZOEKEN(LINKS(A1;LENGTE(A1)-2);leveranciers;2;ONWAAR);"") |
1 2 3 4 5 6 7 8 9 10 | Option Explicit Public Function tekstconvert(tekst As String) As Integer Dim nummer As Integer nummer = Left(tekst, 1) tekstconvert = nummer End Function |
Oeps Al dat werkt voor nietsquote:Op donderdag 23 juni 2011 11:06 schreef DaFan het volgende:
Waarom zet je er niet gewoon WAARDE() omheen dat doet hetzelfde
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |