FOK!forum / Digital Corner / [Excel] Het grote Excel vragen topic #26
qu63dinsdag 26 april 2011 @ 21:39
FOKEXCELBANNER.jpg

Aangezien er vaker losse topics langskomen, leek het ons handig een centraal Excel topic te maken waar men hun vragen / antwoorden kwijt kan.

Dus heb je vragen, kom je ergens niet uit, hoe maak ik nu precies die macro?

Stel dan hier je vraag!!!

Tip 1: De help functie van excel of visual basic voor excel kan je echt een eind op weg helpen ! (F1)
Tip 2: Als je een vraag stelt, zet er dan bij welke versie je hebt en op welke taal hij ingesteld staat!
Tip 3: Zet macrocode even tussen [ code ] tags
Tip 4: Zelf de formules in verschillende talen vertalen:
http://dolf.trieschnigg.nl/excel/excel.html
http://branders.name/files/Excel-Function-Reference.pdf

Alle vorige topics zijn hier terug te vinden.

Nieuw topic? Haal de OP bij de wiki ;)
DaFandinsdag 26 april 2011 @ 21:42
En ja hij stond er al bij ;)
Deetchwoensdag 27 april 2011 @ 09:44
jah hoor werkt als een tiet!
yozddonderdag 28 april 2011 @ 00:12
Ik heb een excel sheet (sheet 2) met in rij 1 allemaal jaartallen (voor de X-as) en op rij 2 t/m 5 gegevens voor in een grafiek A. Elk van die rijen vormt een aparte reeks.

Op rij 6 tot en met 9 heb ik weer 4 reeksen, nu voor grafiek B (X-as blijft altijd rij 1). Via deze macro krijg ik de goede grafieken:

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

Mijn data loopt echter door op heel veel rijen, dus ik wil er een loop van maken. Dit werkt echter niet:

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

Heeft iemand enig idee waarom niet?

O ja, ik zou ook graag steeds de 2e rij data van elke grafiek (voor grafiek A rij 3, grafiek B rij 7 etc.) ipv een lijn alleen maar punten zien. Kan dat ook mbv de macro?
actuarisjedonderdag 28 april 2011 @ 09:51
Je probeert nu in een Range een integer te stoppen (rij1, rij2), maar dat gaat niet: hier gaan alleen strings in. Om een variabele Range aan te roepen zul je dus iets als

ActiveChart.SetSourceData Source:=Range("'Sheet2'!$A$" & rij1 & ":$R$" & rij2 & ",'Sheet2'!$A$1:$R$1")
Deetchdonderdag 28 april 2011 @ 09:56
vervang Range("'Sheet2'!$A$rij1:$R$rij2,'Sheet2'!$A$1:$R$1")
door Range("'Sheet2'!$A$" & rij1 & ":$R$" & rij2 & ",'Sheet2'!$A$1:$R$1")

spuit 11 }:|
Zalgodonderdag 28 april 2011 @ 22:21
Hey,

Ik wil een van aantal geluidsniveaus het gemiddelde berekenen. Dit met de volgende formule:

1=10*LOG((10^(GELUIDSNIVEAU1/10)+10^(GELUIDSNIVEAU2/10)+10^(GELUIDSNIVEAU.../10))/Aantal geluidsniveaus)

Ik heb hier een hele lange lijst van, maar het lukt me niet om deze makkelijk in een formule te krijgen.

Deze formule heb ik geprobeert:

1=10*LOG((10^(B1:B20/10))/20)

Maar zo werkt het helaas niet. Iemand suggesties?
DaFanvrijdag 29 april 2011 @ 07:06
SOM eromheen en bevestigen met Ctrl-Shift-Enter
Folkwinvrijdag 29 april 2011 @ 09:09
Ik ben bezig met een soort logboek in Excel.

Is het mogelijk om het volgende te creeren:
dat degene die de actie logt automatisch leeg veld krijgt met nieuwe opvolgende lognummer aan de bovenkant van de sheet?
geelkuikentjevrijdag 29 april 2011 @ 16:23
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.

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
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?
Frollovrijdag 29 april 2011 @ 16:33
quote:
0s.gif 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?
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.
Regenbuivrijdag 29 april 2011 @ 21:58
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
Zalgozondag 1 mei 2011 @ 23:05
quote:
0s.gif Op vrijdag 29 april 2011 07:06 schreef DaFan het volgende:
SOM eromheen en bevestigen met Ctrl-Shift-Enter
Hoe bedoel je?

Ik heb dit geprobeerd:

1=10*LOG((10^(SUM(B1:B20)/10))/20)

&

1=SUM(10*LOG((10^(B1:B20/10))/20))

Beide levert niks op.

Het is dus niet de bedoeling dat er normaal wordt opgeteld, maar volgens deze formule:

1=10*LOG((10^(GELUIDSNIVEAU1/10)+10^(GELUIDSNIVEAU2/10)+10^(GELUIDSNIVEAU.../10))/Aantal geluidsniveaus)
qu63zondag 1 mei 2011 @ 23:32
quote:
0s.gif 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 ]

Heb je bij die 2e wel bevestigd met ctrl+shift+enter ipv enter?
DaFanmaandag 2 mei 2011 @ 17:53
quote:
0s.gif 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.

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.
DaFanmaandag 2 mei 2011 @ 20:26
quote:
0s.gif 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
Zalgodinsdag 3 mei 2011 @ 12:58
quote:
7s.gif 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.
Hm. Ik heb het op een andere manier opgelost. Gewoon in gedeeltes gedaan. :)

Dus eerst alle resultaten 10^(resultaat/10)

Daarna de 10log van deze opgeteld gepakt. :) Ik zal jouw manier nog eens proberen, dat zou nl. wat compacter zijn. :P

In ieder geval; bedankt. :)
Pileswoensdag 4 mei 2011 @ 10:18
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) :P
Kan dat in 1 keer op totaalniveau?
Pileswoensdag 4 mei 2011 @ 11:12
Oh, en nog een wat lastigere vraag. Ik heb de volgende matrix:

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 
Die wil ik (automatisch) converteren naar:
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
Het aantal kolommen (waardes) kan variëren, om het nog leuker te maken :')
En het gaat om nogal wat gegevens :P Ik hoop dat iemand er een handigheidje voor heeft, ik kan het zo even niet bedenken.
Deetchwoensdag 4 mei 2011 @ 13:45
quote:
0s.gif 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) :P
Kan dat in 1 keer op totaalniveau?
In het menu "Review" heb je de opties "Protect Sheet" en "Protect workbook", daarin kun je aangeven wat er wel en niet mag.
Vervolgens kies je de opties "allow users to edit ranges". Daar kies je het gebied waar gebruikers wel dingen mogen veranderen en kies je protect sheet. Als het goed is is je geselecteerde range dan vrijgegeven om te bewerken en is de rest geblokkeerd met een password.

[ Bericht 9% gewijzigd door Deetch op 04-05-2011 14:01:19 ]
Pileswoensdag 4 mei 2011 @ 13:48
quote:
0s.gif 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.
Gewoon geen wachtwoord invullen is goed genoeg :P 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 :)
Deetchwoensdag 4 mei 2011 @ 14:02
quote:
0s.gif Op woensdag 4 mei 2011 13:48 schreef Piles het volgende:

[..]

Gewoon geen wachtwoord invullen is goed genoeg :P 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 :)
zonder password kan wel iedereen die "beveiliging" uitzetten. Maar ik denk dat jouw gebruikers allemaal ID-10T zijn?
Pileswoensdag 4 mei 2011 @ 14:03
quote:
0s.gif 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?
:Y :')
Vandaar de beveiliging, voor ze m'n formules weer slopen :P
Heb je toevallig ook nog een oplossing voor mijn 2e vraag? O-)
actuarisjewoensdag 4 mei 2011 @ 14:47
quote:
0s.gif Op woensdag 4 mei 2011 14:03 schreef Piles het volgende:

[..]

:Y :')
Vandaar de beveiliging, voor ze m'n formules weer slopen :P
Heb je toevallig ook nog een oplossing voor mijn 2e vraag? O-)
Nog even terug naar je eerste vraag. Het kan wel wat geautomatiseerder. Beschouw de volgende macro:

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

* Haal de beveiliging van het bald
* Zet alle cellen 'op slot'
* Haal vervolgens 'het slot' af van alle cellen waarin GEEN formule staat (in dit geval worden de cellen A1 t/m A100 gecheckt, maar je kan ook simpelweg loopen door alle (benodige) cellen)
* En zet de beveiliging er weer op

Dan zijn alle formule-cellen beveiligd.
Pileswoensdag 4 mei 2011 @ 15:19
Macro's, die moet ik echt nog eens gaan leren :P Bedankt, ik ga m bewaren ^O^
actuarisjewoensdag 4 mei 2011 @ 15:58
quote:
0s.gif Op woensdag 4 mei 2011 15:19 schreef Piles het volgende:
Macro's, die moet ik echt nog eens gaan leren :P Bedankt, ik ga m bewaren ^O^
Excel zonder macro's is als een TV zonder afstandsbediening. Je kan het wel gebruiken, maar veel kan je er niet mee :p
ChatGirldonderdag 5 mei 2011 @ 09:53
Misschien een hele simpele vraag:

ik heb twee kolommen met getallen (procenten).
Voorbeeld:

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

Nu wil ik dat de getallen die hoger zijn in vergelijking met een vorig jaar groen kleuren, en als ze lager zijn rood kleuren.

Ik ben geen ster in excel, dus als iemand het in jip en janneke taal uit kan leggen, heel graag! Ik gebruik Excel 2007, Nederlandse versie.
crossoverdonderdag 5 mei 2011 @ 10:14
Zoek eens naar voorwaardelijke opmaak bij Start en dan het kopje 'stijlen'. Volgens mij moet je een formule maken.
ChatGirldonderdag 5 mei 2011 @ 10:28
En daar loop ik vast :') Ik heb al gegoogled naar formules die ik kan gebruiken, maar tot nu toe zonder resultaat.

Ik kan wel een regel selecteren en dan voorwaardelijke opmaak --> kleurschalen doen. Maar dan 40x toepassen. Dat werkt zoals ik het bedoel, maar het is wel een beetje omslachtig.
Deetchdonderdag 5 mei 2011 @ 11:04
selecteer de eerste waarde van kolom B (cel B2)

kies conditional format, highlight cell rules (eerste optie), greater than.

vul in plaats van het getal "=A2" in en kies de formatting.

doe vervolgens hetzelfde maar dan smaller than en "=a2"

kopieer vervolgens cel B2

selecteer de andere cellen waar ditzelfde formatting op moet toegepast worden en doe plakken speciaal, opmaak.
Serranovrijdag 6 mei 2011 @ 13:42
Ik heb een formule gemaakt en die wil ik graag horizontaal doortrekken. Het enigste probleem is dat de laatste cel (mutatietabel!H9) niet 1 maar 3 kolommen moet opschuiven (naar K9). Ik ben niet zo'n expert in excel en weet alleen hoe ik hem 1 kolom mee kan laten schuiven.

=VLOOKUP('Start '!$E$16;'Berekening tbv van investering'!$B$105:$C$111;2)*Mutatietabel!H9

Hoop dat iemand me kan helpen, zal me veel werk schelen.
Serranozaterdag 7 mei 2011 @ 18:02
Niemand...?! :'(
qu63zondag 8 mei 2011 @ 19:46
quote:
0s.gif Op zaterdag 7 mei 2011 18:02 schreef Serrano het volgende:
Niemand...?! :'(
Het is weekend!

-edit- En belangrijker, de zon schijnt!
Deetchmaandag 9 mei 2011 @ 10:07
Weekend begint op vrijdagmiddag op Fok!. :P

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)
davo1979maandag 9 mei 2011 @ 21:24
Ik kom er niet uit en hij blijft aangeven dat er een fout inzit. Ik wil dat J3 de uitkomst is van C3+F3 maar min D3 E3 G3 H3 I3 ik aangegeven in de balk de forumule =SOM(C3;F3)-(D3;E3;G3;H3;I3) blijkbaar zit er toch een fout in. Wie weet het?
actuarisjemaandag 9 mei 2011 @ 21:43
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 :P
Serranomaandag 9 mei 2011 @ 22:36
@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!
davo1979dinsdag 10 mei 2011 @ 10:08
quote:
0s.gif 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 :P
Dankje wel ik had gewoon simpel moeten doen!
Deetchdinsdag 10 mei 2011 @ 10:27
quote:
0s.gif 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!
Lol, tja de vrijdagmiddag stress projectjes ken ik ook nog wel en dan is er niemand om je te helpen.
BoniBonidinsdag 10 mei 2011 @ 10:31
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
Pakspuldinsdag 10 mei 2011 @ 13:04
quote:
0s.gif 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
Kopieer (ctrl+c) de combinatie, selecteer alle cellen en kun je de combinatie er in plakken (ctrl+v).
actuarisjedinsdag 10 mei 2011 @ 13:14
Ik heb hier een module waarin een InputBox wordt aangeroepen. Nu wil ik een Exit Sub op het moment dat de user op Cancel drukt. Ik heb dat op deze manier gedaan:

1
2
Reason = Application.InputBox("Reason", "New Expecteds", sDefault)
   If Reason = False Then Exit Sub

Als ik nu stap voor stap door de code loop (F8-en), dan gaat alles prima. Als ik echter de macro gewoon run, dan krijg ik, na het drukken op Cancel, een runtime error: "Code execution had been interrupted". Klik ik vervolgens op Debug en run ik daarna verder (F5, danwel stap voor stap met F8), dan gaat de macro gewoon vrolijk verder.

Ik heb geprobeerd de error te omzeilen met On Error Resume Next en On Error GoTo ..., maar hij blijft er uit klappen...

Iemand enig idee waar dit vandaan komt?
actuarisjedinsdag 10 mei 2011 @ 13:42
hmm...
Hij geeft de melding nu bij ALLE macro's die ik run

EDIT: En uiteraard lost de machine opnieuw starten alle problemen op :P

[ Bericht 58% gewijzigd door actuarisje op 10-05-2011 13:47:42 ]
Deetchdinsdag 10 mei 2011 @ 14:34
quote:
0s.gif 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).
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.
qu63dinsdag 10 mei 2011 @ 14:48
quote:
0s.gif 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.
Als het alleen gaat om de weergave (bijvoorbeeld "10 Liter/15 Liter/etc") kan je ook kiezen voor een aangepaste opmaak.

Selecteer de cellen, doe ctrl+1, kies het tabblad "getal" en ga naar aangepast. Onder "Type:" kan je nu zelf invullen wat je wilt laten zien. #.##0,00 "Liter" wordt bijvoorbeeld 10,00 Liter.
BoniBonidinsdag 10 mei 2011 @ 16:55
quote:
0s.gif 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.
Het is gelukt, bedankt!
Pilesdonderdag 12 mei 2011 @ 10:28
quote:
0s.gif 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 :P Ik hoop dat iemand er een handigheidje voor heeft, ik kan het zo even niet bedenken.
Iemand hier nog een oplossing/idee voor? O-)
Pakspuldonderdag 12 mei 2011 @ 12:00
quote:
0s.gif Op donderdag 12 mei 2011 10:28 schreef Piles het volgende:

[..]

Iemand hier nog een oplossing/idee voor? O-)
Met VBA kun je er door heen loopen. Alleen is even de vraag of het aantal waardes per onderdeel kan verschillen.
Pilesdonderdag 12 mei 2011 @ 12:07
quote:
0s.gif 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.
Anders neem ik voor de zekerheid bijvoorbeeld 20 kolommen, en verwijder ik later de lege regels, dat is geen probleem :)
stylistedonderdag 12 mei 2011 @ 12:30
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?
DaFandonderdag 12 mei 2011 @ 12:46
quote:
0s.gif 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 zijn :)
DaFandonderdag 12 mei 2011 @ 12:49
quote:
0s.gif 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?
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.
Pakspuldonderdag 12 mei 2011 @ 12:52
quote:
0s.gif 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 :)
Je kunt twee loopjes in elkaar bouwen. Kan het even snel in PHP voordoen.
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;
    
}
}
?>
stylistedonderdag 12 mei 2011 @ 12:56
quote:
7s.gif 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.
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?
Pakspuldonderdag 12 mei 2011 @ 13:01
quote:
7s.gif Op donderdag 12 mei 2011 12:46 schreef DaFan het volgende:

[..]

Je kan toch eerst ophalen hoeveel regels er zijn :)
Je kunt ook netzo lang doorgaan totdat je een lege regel (of cell waar onderdeel naam in staat) tegenkomt en dan stop je.
DaFandonderdag 12 mei 2011 @ 13:08
quote:
0s.gif 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.
Kan ook :)
DaFandonderdag 12 mei 2011 @ 13:09
quote:
0s.gif 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?
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.
stylistedonderdag 12 mei 2011 @ 13:30
quote:
7s.gif 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.
hoe kan ik dat doen als het bestand met de draaitabel beveiligd is? Ik heb dus een alleen-lezen bestand.
Misandonderdag 12 mei 2011 @ 14:10
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!"

[ Bericht 16% gewijzigd door Misan op 12-05-2011 14:31:29 ]
DaFandonderdag 12 mei 2011 @ 14:50
quote:
0s.gif 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.
Ik denk dat het niet kan, behalve als je hem open laat staan...
DaFandonderdag 12 mei 2011 @ 14:51
quote:
14s.gif 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!"
Zou datzelfde trucje met DAY herhalen ;)
Misandonderdag 12 mei 2011 @ 15:11
quote:
7s.gif Op donderdag 12 mei 2011 14:51 schreef DaFan het volgende:

[..]

Zou datzelfde trucje met DAY herhalen ;)
ook gedaan idd :)
Deetchdonderdag 12 mei 2011 @ 15:14
quote:
0s.gif 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?
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?
DaFandonderdag 12 mei 2011 @ 15:17
quote:
0s.gif 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
http://support.microsoft.com/kb/299303
Deetchdonderdag 12 mei 2011 @ 15:22
quote:
quote:
0s.gif 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?
Stomme excel uitzonderingen.
Spektorvrijdag 13 mei 2011 @ 10:03
Hallo!

Ik wil graag een overzicht hebben van de omzet die wij boeken met ons bedrijf. Dit wil ik gaan maken in Excel en daarbij is het de bedoeling dat er een handig invul-formuliertje komt, ik weet dat zoiets kan, weet alleen niet meer hoe het heet?
Dus dat ik in het het eerste tabblad omzet, artikel, productgroep en datum van aankoop invul en dat het op tabblad 2 in het overzicht komt, zoiets.

Daarnaast wil ik de diverse aspecten kunnen selecteren. Dus bijvoorbeeld de totale omzet van productgroep x of de totale omzet van de maand mei. Of juist weer de totale omzet van productgroep x in de maand mei. Hoe kan ik dit het handigste doen? Iemand die me een beetje kan helpen?

Alvast bedankt!
Deetchvrijdag 13 mei 2011 @ 11:40
In vba kun je een inputform (formulier) maken en vervolgens de informatie in een excelsheet zetten.
Daarna kun je met draaitabellen mooie overzichtjes maken.
Spektorvrijdag 13 mei 2011 @ 11:49
quote:
0s.gif 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.
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.
Deetchvrijdag 13 mei 2011 @ 11:59
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.
Spektorvrijdag 13 mei 2011 @ 12:17
quote:
0s.gif 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.
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?
DaFanvrijdag 13 mei 2011 @ 13:09
ACCESS

Of koop een boekhoudprogramma
Deetchvrijdag 13 mei 2011 @ 13:38
quote:
0s.gif Op vrijdag 13 mei 2011 13:09 schreef DaFan het volgende:
ACCESS

Of koop een boekhoudprogramma
Tja da's misschien nog wel een beter tip.
.... for dummies boeken zijn altijd een goeie instap en verder veel proberen, googlen, hier vragen (ook in die volgorde) etc etc.
Serranovrijdag 13 mei 2011 @ 14:04
quote:
0s.gif Op maandag 9 mei 2011 10:07 schreef Deetch het volgende:
Weekend begint op vrijdagmiddag op Fok!. :P

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)
Het is gelukt! Waarvoor dank :)
qu63vrijdag 13 mei 2011 @ 14:09
Ik wil weten wat de totale looptijd is van alle "GO"-projecten uit een bepaalde stad.
Met SUMPRODUCT() weet ik al hoeveel projecten dat zijn, maar hoe kan ik de duur van die projecten bij elkaar optellen?

In kolom B staat de stad, in J de duur en in L staat Go/No Go.

Sumproduct() is: =SOMPRODUCT(('Data VP'!$B$2:$B$999=$A38)*('Data VP'!$L$2:$L$999=F$37))

Excel 2010, NL
DaFanvrijdag 13 mei 2011 @ 15:40
* gebruiken in SOMPROdUCT wordt afgeraden ivm performance.
Ik help je als ik thuis ben, zoiets lukt niet op telefoon :p
qu63vrijdag 13 mei 2011 @ 15:41
quote:
0s.gif 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
Alvast bedankt!
DaFanvrijdag 13 mei 2011 @ 19:45
Ik dacht dat je SUMPRODUCT wel kende?

287enf5.png
B11
1=SUMPRODUCT(--($A$1:$A$8=A11);--($C$1:$C$8="Go");$B$1:$B$8)
Pakspulvrijdag 13 mei 2011 @ 20:53
Wat doet dat -- in de functie :?
DaFanvrijdag 13 mei 2011 @ 21:04
quote:
0s.gif Op vrijdag 13 mei 2011 20:53 schreef Pakspul het volgende:
Wat doet dat -- in de functie :?
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)
qu63vrijdag 13 mei 2011 @ 22:40
quote:
7s.gif 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)
Hmz, dat lijkt heel erg op mijn functie, maar verschilt dus net op een belangrijk punt ;)

Tellen hoeveel Go's er bij een bepaalde stad hoorde lukte me dus wel, alleen optellen niet..
elkravozondag 15 mei 2011 @ 12:37
Ik heb een bestand waarin ik mijn financiën bijhoud... dit doe ik al jaren...
Zie hieronder twee excelprtscreens... Het eerste sheetje is een versimpelde versie van hoe ik mijn transacties bijhou... De kolom CODE is mijn categorie indeling. Ook splits ik dagen/maanden/jaren nog in een aparte kolom op, waardoor ik handig kan zoeken en vergelijken.

Graag wil ik dmv het eerst sheetje, komen tot het tweede sheet, waarin ik per jaar/maand kan zien wat de totale uitgaven/inkomsten.
Maak je niet zorgen om het plus/min verhaal etc...

Ik dacht dat dit zou kunnen met een somproduct-formule... maar krijg het niet voor elkaar... kan iemand helpen?

excel1.jpg
Maartelzondag 15 mei 2011 @ 13:42
Is er in Excel een makkelijke methode om in een tabel dezelfde info in rijen als in kolommen te zetten?
Ik heb in de kolommen een rij namen en in de rijen ook, en dan in overlappende vakjes een score, maar het is vrij veel werk om alles steeds in 2 plekken in te vullen..
DaFanzondag 15 mei 2011 @ 20:32
Je kan toch het onderste deel iets doen van
=IF(C2="","",C2)
En dat dan in B3.
DaFanzondag 15 mei 2011 @ 20:33
elkravo, welke formule had je al geprobeerd?
elkravozondag 15 mei 2011 @ 20:53
quote:
7s.gif Op zondag 15 mei 2011 20:33 schreef DaFan het volgende:
elkravo, welke formule had je al geprobeerd?
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...
qu63zondag 15 mei 2011 @ 21:33
quote:
0s.gif 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...
Ik denk dat DaFan bedoelde hoe je SUMPRODUCT()-formule er uit zag ;)

Alternatief kan som.als() zijn trouwens..
DaFanzondag 15 mei 2011 @ 21:33
16c6xpf.png
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:
1
2
3
4
5
6
2011
5
2000
-45
-60
-10


[ Bericht 23% gewijzigd door DaFan op 15-05-2011 21:39:56 ]
DaFanzondag 15 mei 2011 @ 21:36
quote:
0s.gif 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..
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!
elkravozondag 15 mei 2011 @ 22:25
quote:
7s.gif 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!
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?
DaFanzondag 15 mei 2011 @ 22:31
Zoiets...in de OP staat een link naar een vertaalsite.
Ik heb de NL versie hier niet.
elkravozondag 15 mei 2011 @ 22:37
quote:
7s.gif 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.
Sumifs staat daar niet tussen... ;)

Weet niet of SUMIFS een nieuwere functie is? (heb zelf excel 2003)... Of betekent #NAAM? wat anders... kan er niet eens op googlen...
elkravozondag 15 mei 2011 @ 22:59
quote:
7s.gif 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 ]

Deze werkt wel... ik snap de bedoeling van "--" niet maar hij werkt :P BEDANKT! :W ^O^ ^O^ ^O^
qu63zondag 15 mei 2011 @ 23:03
quote:
0s.gif 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?
Zoals in de OP staat, geef je versie + taal door als je iets vraagt ;)

SUMIFS is 2007 en later: http://spreadsheets.about(...)-sumifs-function.htm
elkravomaandag 16 mei 2011 @ 01:23
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?
hendrik2009maandag 16 mei 2011 @ 20:38
Je zou de calculatiefunctie van excel uit kunnen schakelen, maar ik begrijp dat je de berekening voor één specifiek tabblad wilt uitstellen. Hier is wel een macro voor te maken, die alle sumproduct formules inactief maakt, bijvoorbeeld door er een ' voor te zetten.
Om snelheid te winnen zou je eens kunnen kijken of je somproduct wel alleen het nodige bereik berekent en niet bijvoorbeeld over alle regels van het tabblad.
Deetchdinsdag 17 mei 2011 @ 11:17
Ik ben op zoek naar een vba code om het adres van de eerste cel van een geselecteerde range te vinden. Dit adres wil ik dan verderop weer gebruiken

De code loopt vast bij de tweede regel

Function reekslengte(rCell As Range)
msgbox rCell
rEersteCell = rCell(1, 1).Address
msgbox rEersteCell
'hier moet nog meer code
end function

De eerste msgbox wordt netjes getoond, de tweede niet en de functie geeft een #value melding
DaFandinsdag 17 mei 2011 @ 12:27
reekslengte = rCell.Cells(1, 1).Address

returned bij mij $A$1 als met formule
=reekslengte(A1:A2)

Edit; En je krijgt natuurlijk een #VALUE terug omdat je reekslengte geen waarde hebt toegewezen. Dus kan Excel geen returnvalue vinden en krijg je een error.
Deetchdinsdag 17 mei 2011 @ 12:41
was er bijna, thx.
Functie doet inmiddels wat ie moet doen.
DaFandinsdag 17 mei 2011 @ 12:53
quote:
0s.gif 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

Zoiets?
Hij schakelt automatisch berekenen uit zodra je de Worksheet selecteert, en weer in als je naar een andere gaat.
Je kan natuurlijk nog wel met F9 herberekenen.

Deze dien je in de module van de Sheet zelf te zetten.
Henk1056dinsdag 17 mei 2011 @ 15:44
Excel 2003, NL

Ik ben bezig met een onderzoek waarvoor ik SPSS gebruik voor statistische analyse.
Nu heb ik een kolom met inschrijfdata van verschillende klanten (bijv 5/20/2009 (m/d/j setup). Dit wil ik graag omzetten naar de duur van het lidmaatschap, in een (naar beneden) afgerond aantal jaar.
voor 3/11/2001 zou dit dus 9 jaar moeten worden. Ik zou dit in Excel om willen laten rekenen door iets te doen in de trant van: (huidige datum - inschrijf datum) = uitkomst aantal jaar (deze gegevens wil ik dan weer plakken in SPSS). Iemand een idee hoe ik dit voor elkaar krijg?

Ik heb het volgende reeds geprobeerd:

=AFRONDEN.BENEDEN((NU()-A1)/365;1)
Waarbij A1 je datum is.

en

A1: 3-11-2001
B1: 16-5-2011 (huidige)
C1: =(B1-A1)

En dan gewoon rechtermuisknop op die cel en bij aangepast ''j'' typen. Of /365 er achter zetten. Dan moet je cel C1 wel aanpassen tot 'General' ipv datum.


Wat ik probeer, ik krijg #VERW! of #WAARDE!, dus ergens gaat iets fout met de formule. Terwijl elke cel met een datum erin op de juiste weergave is ingesteld en de uitkomstcel op Getal en/of standaard.

Ook heb ik het in SPSS geprobeerd met compute variable maar daar word ik al helemaal niet wijs uit.

Bedankt voor de hulp!
Pakspuldinsdag 17 mei 2011 @ 15:56
=DATUMVERSCHIL(C8;D8;"y")
C8 = 1-1-2000
D8 = 1-1-2011

De derde parameter kun je nog veranderen waardoor de uitkomst anders wordt.
Henk1056dinsdag 17 mei 2011 @ 22:53
quote:
0s.gif 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.
Hij doet het nog steeds niet. Het zal vast wel aan mij liggen, daar niet van.

A1 = 5/20/2009 (celeigenschappen op Datum (3e van onderen)
E1 = 5/17/2011 (celeigenschappen op Datum (3e van onderen)
C1 = =DATUMVERSCHIL(A1;E1;"y") (celeigenschappen Getal en Standaard geprobeerd)

Resultaat: #WAARDE!
DaFandinsdag 17 mei 2011 @ 23:19
Ik weet niet of hij wel goed omgaat met m/d/yyyy notaties
Als ik het als dd-mm-yyyy opmaak gaat het wel prima...
Henk1056woensdag 18 mei 2011 @ 00:07
Idd! Dan doet ie het hier ook! Weet je misschien hoe ik een hele kolom met mm/md/yyyy notaties gemakkelijk kan omzetten naar dd-mm-yyyy notaties?
Kan ik bij deze formule =DATUMVERSCHIL(C8;D8;"y") ook nog toevoegen dat ik het wil afronden naar boven of naar beneden? Zodat als een klant 11,5 jaar lid is dit 12 jaar wordt en bij 11,4 jaar lid 11 jaar.
DaFanwoensdag 18 mei 2011 @ 10:36
In je originele vraag staat het antwoord; AFRONDEN eromheen.
qu63woensdag 18 mei 2011 @ 11:10
Kan ik Excel automatisch een lijst laten maken met alle namen die in een kolom (kolom K in mijn geval) voorkomen?
Dus in A2 de eerste naam en dan verder naar beneden tot ie alle namen heeft gehad.. Aantal namen is dus variabel ;)

Het liefst zonder macro..
(Excel 2010 NL)

-edit- En zo ja, hoe ;) ( :D)
Pileswoensdag 18 mei 2011 @ 11:12
Gewoon een draaitabel :?
qu63woensdag 18 mei 2011 @ 11:18
quote:
0s.gif Op woensdag 18 mei 2011 11:12 schreef Piles het volgende:
Gewoon een draaitabel :?
Hmm, nog nooit mee gewerkt.. De data komt uit meerdere sheets met, als het eenmaal af is, in totaal een 3000 regels..
Pileswoensdag 18 mei 2011 @ 11:26
quote:
0s.gif 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..
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?
qu63woensdag 18 mei 2011 @ 11:31
quote:
0s.gif 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?
Het zijn meerdere sheets waarvan ik kolom K uit wil lezen ;)

En ik ben handig genoeg (denk ik) om een werkende formule voor blad 1 om te bouwen naar een formule voor alle bladen :P

Die draaitabel doet nu inderdaad wat ik graag wil zien! Thanks!
DaFanwoensdag 18 mei 2011 @ 12:03
Autofilter uniques, copy paste? Maar dat is eenmalig
qu63woensdag 18 mei 2011 @ 12:26
quote:
0s.gif Op woensdag 18 mei 2011 12:03 schreef DaFan het volgende:
Autofilter uniques, copy paste? Maar dat is eenmalig
Dat had ik ook al bedacht, maar er komt regelmatig nieuwe data bij..
Pileswoensdag 18 mei 2011 @ 12:32
Dan zou je draaitabel over draaitabel kunnen doen. In cel A1 doe je een draaitabel voor sheet 1, in cel A5000 (ofzo) voor sheet2 enz. Dan een draaitabel over kolom A, waarbij je "Rijlabels", "(leeg)" en "Eindtotaal" eruit filtert :P
Holy_Goatwoensdag 18 mei 2011 @ 13:43
Hoi allemaal.

Even een kleine (wellicht stomme) vraag.

Wat ik nog nooit gebruikt heb doe ik nu een keertje: een combobox control heb ik
op een sheet (zeg sheet 2) gezet, en vanuit een stukje code in een aparte module,
wil ik die vullen.

Hoe werkt dat?
Holy_Goatwoensdag 18 mei 2011 @ 13:59
en dan meer specifiek:

ik kan dus op de een of andere manier, in vb6, niet een combobox in een sheet aanvullen met:
activesheet.shapes("combobox").additem oid
Henk1056woensdag 18 mei 2011 @ 15:10
quote:
0s.gif Op woensdag 18 mei 2011 10:36 schreef DaFan het volgende:
In je originele vraag staat het antwoord; AFRONDEN eromheen.
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?
Holy_Goatwoensdag 18 mei 2011 @ 15:57
En nog een grafiek ergenisje.

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

Echter, instellen lukt wel, maar opvragen is noodzakelijk aangezien ik anders nietw eet wat ik in stellen moet. Eigenlijk blijft alles namelijk hetzelfde (behalve het R65 stuk) in bijvoorbeeld de verwijzing ='#PO'!R4C12:R65C12
actuarisjewoensdag 18 mei 2011 @ 22:10
quote:
0s.gif 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?
Uit DATUMVERSCHIL komt sowieso al een geheel getal. Dus afronden heeft niet zoveel zin :P

Oftewel:
DATUMVERSCHIL(01-01-2010;01-01-2011;"y") = 1
DATUMVERSCHIL(01-01-2010;31-12-2011;"y") = 1

En zoals je ziet wordt dus altijd naar BENEDEN afgerond. Tussen 01-01-2010 en 31-12-2011 zit namelijk maar één gehaal jaar (terwijl er niet afgerond 1,997 jaar tussenzit, maar dat is nog geen twee -> dus 1).
Holy_Goatdonderdag 19 mei 2011 @ 20:09
Laat maar.
Dikke oplossing gemacht und es funzt.
DaFandonderdag 19 mei 2011 @ 22:41
quote:
0s.gif Op donderdag 19 mei 2011 20:09 schreef Holy_Goat het volgende:
Laat maar.
Dikke oplossing gemacht und es funzt.
Zit ik eindelijk weer s achter mn PC :P
Maar mooi dat je er zelf uit bent gekomen ^O^
Serranozondag 22 mei 2011 @ 13:14
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.. :)
qu63zondag 22 mei 2011 @ 13:44
quote:
0s.gif 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.. :)
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)

In A2 zet je neer: =ALS(A1="A";370;ALS(A1="B";378;""))
In B2 zet je neer: =ALS(A1="A";310;ALS(A1="B";320;""))
In C2 zet je neer: =ALS(A1="A";68;ALS(A1="B";58;""))
Serranozondag 22 mei 2011 @ 14:31
Mmmz zo had ik er nog niet over nagedacht. Ik kan het idd op die manier aanpakken.

Voor de gebruiksvriendelijkheid van het model had ik eigenlijk 2 buttons (A/B) in gedachten waar de gebruiker op kan klikken. Heb alleen het idee dat dit vrij complex is, als je alleen excel basiskennis heb.
DaFanzondag 22 mei 2011 @ 14:38
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.
qu63zondag 22 mei 2011 @ 15:49
quote:
7s.gif 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.
Die dropdown kan je ook maken met gegevensvalidatie ;)
DaFanzondag 22 mei 2011 @ 15:58
quote:
0s.gif Op zondag 22 mei 2011 15:49 schreef qu63 het volgende:

[..]

Die dropdown kan je ook maken met gegevensvalidatie ;)
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.
qu63zondag 22 mei 2011 @ 16:13
quote:
16s.gif 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.
Met maar 2 waardes (A of B) vond ik dat een wat omslachtige manier.. Dit leek me een stuk overzichtelijker!
DaFanzondag 22 mei 2011 @ 16:16
quote:
0s.gif 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!
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.
qu63zondag 22 mei 2011 @ 16:25
quote:
7s.gif 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.
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 :Y

Maar goed, dat stond niet in de vraag vermeld dus hield ik het bij het beantwoorden van de vraag :P
actuarisjemaandag 23 mei 2011 @ 13:34
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...
Holy_Goatmaandag 23 mei 2011 @ 14:17
quote:
0s.gif 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...
dat laatste kan met rechtermuisknop > kenmerken
Holy_Goatmaandag 23 mei 2011 @ 14:18
quote:
0s.gif 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 :Y

Maar goed, dat stond niet in de vraag vermeld dus hield ik het bij het beantwoorden van de vraag :P
He zeg, qu63, doe jij ook wel eens wat met databases in excel?
Kan dat ook overal draaien? (werkomgeving met 0 rechten)
qu63maandag 23 mei 2011 @ 16:09
quote:
0s.gif 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?
Nope :D
quote:
Kan dat ook overal draaien? (werkomgeving met 0 rechten)
Ik denk dat als je de database kunt leze je em ook in kunt lezen in Excel.. Ervaring heb ik er niet mee!
actuarisjedinsdag 24 mei 2011 @ 09:08
quote:
0s.gif Op maandag 23 mei 2011 14:17 schreef Holy_Goat het volgende:

[..]

dat laatste kan met rechtermuisknop > kenmerken
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...
Pilesdinsdag 24 mei 2011 @ 10:03
Weer een vraag: ik heb een rij met datums, en daarvan wil het aantal unieke per maand weten. Dus bijvoorbeeld:
1-9-2010
7-9-2010
30-9-2010
5-10-2010
15-10-2010

september: 3
oktober: 2
Ik denk ik knutsel iets met aantal.als en maand(), maar zo makkelijk is het dus niet :')
Excel 2007 NL, iemand een idee?
DaFandinsdag 24 mei 2011 @ 13:16
Uniek lukt me niet maar tellen zelf wel:

=SOMPRODUCT(--(MAAND($A$1:$A$5)=B1))

Als b1 is maandnummer.
Of
=INTERVAL(MAAND($A$1:$A$5);B1)
DaFandinsdag 24 mei 2011 @ 13:17
Sorry laatste klopt niet helemaal maar de fix wil ik niet uittypen op telefoon :p
Je moet nog interval van september erf trekken, dan klopt oktober wel.
Succes
mrbombasticdinsdag 24 mei 2011 @ 15:33
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?
DaFandinsdag 24 mei 2011 @ 19:49
quote:
0s.gif 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?
Ctrl-H en vink Match case aan.
mrbombasticdinsdag 24 mei 2011 @ 21:23
quote:
7s.gif Op dinsdag 24 mei 2011 19:49 schreef DaFan het volgende:

[..]

Ctrl-H en vink Match case aan.
Als ik het aanpas naar Range met een hoofdletter dan maakt VBA er ZELF weer range met een kleine letter van.

Normaal gesproken doet VBA juist het tegenovergestelde: dus als je range typt, dan maakt VBA er Range van.

Hoe krijg ik dit weer als normaal?
DaFandinsdag 24 mei 2011 @ 22:34
Vreemd ik heb werkelijk waar geen idee!
Deetchdonderdag 26 mei 2011 @ 08:40
Gebeurt dat in alle code die je maakt in VBA? Of alleen in een specifieke macro?
Sicstusdonderdag 26 mei 2011 @ 08:47
Vraagje over Excel...als je een tabel in onderstaande vorm hebt, is er dan een manier/functie
om die om te zetten naar een tabel zoals helemaal onder staat? Dus:

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

Moet worden:

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

Ik wil namelijk een draaitabel maken van deze data, en ik vermoed dat ik, wanneer de data op de bovenste manier staat, ik niet de vakken als categorie in mn draaitabel kan gebruiken.
Pakspuldonderdag 26 mei 2011 @ 09:21
In je topic zei ik trouwens draaitabllen, maar ik zie het verkeerd om :P Kun je VBA want dat maakt het anders makkelijker?
Pilesdonderdag 26 mei 2011 @ 15:12
@Sicstus: ik heb precies dezelfde vraag :P Kan alleen totaal geen VB, dus een kant-en-klaar voorbeeld zou makkelijk zijn :@
Pilesvrijdag 27 mei 2011 @ 18:34
@Sicstus:
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
Deze macro kopieert een hele matrix naar de kolom rechts van de matrix (selectie). Samen met tekst.samenvoegen() en tekst naar kolommen gaat het bij mij wel lukken ^O^
Het zal ook wel in 1 keer kunnen, maar ik kan geen VB, en het werkt zo ook :P
-J-D-maandag 30 mei 2011 @ 10:45
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 :X

[ Bericht 1% gewijzigd door -J-D- op 30-05-2011 10:51:11 ]
Deetchmaandag 30 mei 2011 @ 15:25
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.
-J-D-maandag 30 mei 2011 @ 16:34
quote:
3s.gif 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.
Excel 2007 NL
Dank voor het meedenken ^O^
Er ging iets fout met het selecteren van de gegevens. Daar had ik blijkbaar een domme fout gemaakt. Nu lukt het wel.

Ik merk alleen dat ik iets vergeten was te vermelden. Ik wilde graag een cumulatieve grafiek hebben van de gegevens. Oftewel een grafiek die aangeeft hoe de TOTALE winst zich ontwikkelt. De grafiek geeft nu een overzicht van de winst per dag (waar ik ook naar vroeg, maar niet bedoelde).
Moet ik nu eerst een nieuwe kolom maken en gaan stoeien hoe ik dat het beste kan doen of kan ik die wens ook aangeven in de grafiekeigenschappen?
nils7maandag 30 mei 2011 @ 16:34
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?
DaFanmaandag 30 mei 2011 @ 16:35
Nieuwe kolom met een running total per datum en die kiezen ipv de winst per dag.
-J-D-maandag 30 mei 2011 @ 16:37
quote:
0s.gif 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.
Daar moet ik wel uitkomen.
Voorlopig mijn laatste vraag:
Ik ben gewend om alleen de weddenschappen weer te geven die nog open staan. Dan filter ik dus alle verwerkte weddenschappen uit het scherm.
Ik wil in de grafiek echter dat ALLE weddenschappen worden gebruikt. Na het gebruik van het filter doet de grafiek dat dus niet. Kan ik in de grafiek aangeven dat het filter genegeerd moet worden bij die grafiek?
qu63maandag 30 mei 2011 @ 16:38
quote:
0s.gif 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?
Heb je de OP gelezen?

En met celeigenschappen kan je ook niets optellen, dat is alleen maar hoe je cijfers gepresenteerd worden. Een datum (30-5-2011) is namelijk ook gewoon een getal (40693)

En welke dingen vond je op Google die niet bleken te werken? En wat krijg je als je de cellen gewoon bij elkaar optelt?
nils7maandag 30 mei 2011 @ 16:51
Excel 2007 excuus.

Via Google vond ik wel manieren om bijvoorbeeld 22:00 + 3:00 = 25:00 ervan te maken.
Maar zodra ik dat grote getal qua uren en minuten wil splitsen ziet die het als tekst lijkt het.
kingjottemaandag 30 mei 2011 @ 17:18
quote:
0s.gif 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?
nils7maandag 30 mei 2011 @ 17:30
quote:
0s.gif Op maandag 30 mei 2011 17:18 schreef kingjotte het volgende:

[..]

Er moet 28.276:18 uitkomen?
ja
Holy_Goatmaandag 30 mei 2011 @ 22:45
quote:
0s.gif 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 :X
los van dit alles...
wut the fuck.

Hoeveel gok jij eigenlijk :P lijkt me niet heel gezond ;)
Holy_Goatmaandag 30 mei 2011 @ 22:46
quote:
0s.gif Op maandag 30 mei 2011 17:18 schreef kingjotte het volgende:

[..]

Er moet 28.276:18 uitkomen?
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)
-J-D-maandag 30 mei 2011 @ 22:48
quote:
0s.gif Op maandag 30 mei 2011 22:45 schreef Holy_Goat het volgende:

[..]

los van dit alles...
wut the fuck.

Hoeveel gok jij eigenlijk :P lijkt me niet heel gezond ;)
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.
Holy_Goatmaandag 30 mei 2011 @ 22:56
quote:
0s.gif 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.
dan is het goed :*
quote:
0s.gif Op maandag 30 mei 2011 17:18 schreef kingjotte het volgende:

[..]

Er moet 28.276:18 uitkomen?
Heb trouwens nog een extreem omslachtige formule voor je geklust voor als je beetje grappig wilt doen :')

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

(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
mrbombasticmaandag 30 mei 2011 @ 23:10
quote:
0s.gif 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?
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.

Dus er staat nu overal range("A1").Value = 3 (bijvoorbeeld).
kingjottedinsdag 31 mei 2011 @ 10:07
quote:
0s.gif 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 :')

Probeer ik grappig te doen?
DaFandinsdag 31 mei 2011 @ 10:24
quote:
0s.gif Op dinsdag 31 mei 2011 10:07 schreef kingjotte het volgende:

[..]

Probeer ik grappig te doen?
Lol grote tenen.
Holy_Goatdinsdag 31 mei 2011 @ 14:10
quote:
0s.gif Op dinsdag 31 mei 2011 10:24 schreef DaFan het volgende:

[..]

Lol grote tenen.
En dat terwijl het wel gewoon goed werkt :(
nils7dinsdag 31 mei 2011 @ 15:33
quote:
0s.gif 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
Aah oke ik ga er mee aan de gang, thnx.

Excel is hier in het Nederlands dus dat scheelt.
Holy_Goatdinsdag 31 mei 2011 @ 16:03
quote:
0s.gif 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.
copy pasta-en dan ;)
Misandonderdag 2 juni 2011 @ 10:25
Ik heb tabel 1 met verschillende waarden in kolom 1. Uit tabel 2, een kleinere tabel, wil ik alleen de rijen weergeven waarvan kolom 1 overeen komt met waarden die in kolom 1 van tabel 1 staan. Hoe doe ik dat?

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
Pakspuldonderdag 2 juni 2011 @ 10:44
Kijk eens naar som.als. als je maar één record van een mogelijk hebt moet de sommatie geen probleem leveren.
Misandonderdag 2 juni 2011 @ 11:02
quote:
0s.gif 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.
maar ik wil niets optellen :?
Pakspuldonderdag 2 juni 2011 @ 11:08
Heb je in tabel 1 vaker de combo a4 staan? Anders is het niet zo'n probleem. Anders moet je eens kijken naar de functie die er veel op lijkt, maar niet kogelt. Als je voorbeeld nodig hebt moet je het maar even laten weten. Dan bouw ik wat voor je.
qu63donderdag 2 juni 2011 @ 11:08
quote:
0s.gif 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..
Pakspuldonderdag 2 juni 2011 @ 11:17
quote:
0s.gif 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..
met de aanname dat er meerdere combinaties van 'b' aanwezig zijn.

* Pakspul slingert de pc wel eens aan volling een voorgelegd te bouwen.
qu63donderdag 2 juni 2011 @ 11:21
quote:
0s.gif 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.
In het voorbeeld komen alleen a en c in beide tabellen voor..
Pakspuldonderdag 2 juni 2011 @ 11:25
http://rotzooi.pakspul.nl/sumif.xlsx

Als je dus geen dubbele combinaties maakt dan gaat het goed. Als je vaker A-# hebt dan gaat het verkeerd want dan gaat hij een sommatie maken. Mocht je dit niet willen dan moet er een andere oplossing komen :P
Misandonderdag 2 juni 2011 @ 11:29
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.
qu63donderdag 2 juni 2011 @ 11:30
quote:
0s.gif 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.
Kan het zo zijn dat in kolom F iets staat wat in A niet staat?
Misandonderdag 2 juni 2011 @ 11:32
quote:
0s.gif 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?
jep :) en andersom ook dus ik maak een dergelijke vergelijking twee keer. Basiscel staat in elk geval in A.
mrbombasticdonderdag 2 juni 2011 @ 14:11
Gewoon met VBA oplossen :)

Ik ben ervan uit gegaan dat kolom A en kolom D (lijst 1 en 2) gesorteerd zijn.
Verder ben ik ervan uitgegaan dat in kolom D een bepaalde letter meerdere malen kan voorkomen, bijvoorbeeld 4x a.

Hier is de uitwerking. Je hoeft alleen op de knop te klikken. Code kun je bekijken door Alt+F11 te drukken.

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
San_Andreasvrijdag 3 juni 2011 @ 13:04
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.
qu63vrijdag 3 juni 2011 @ 13:16
quote:
5s.gif 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.
Kolom selecteren en dan het vak linksbovenin waar dan 8Rx1K oid staat vervangen door Datum/Naam/Bedrag/Whatever
sangermaandag 6 juni 2011 @ 09:25
Ik heb weer eens een vraag :P

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?
San_Andreasmaandag 6 juni 2011 @ 10:07
quote:
14s.gif Op maandag 6 juni 2011 09:25 schreef sanger het volgende:
Ik heb weer eens een vraag :P

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

[ Bericht 0% gewijzigd door San_Andreas op 06-06-2011 10:12:19 ]
mrbombasticmaandag 6 juni 2011 @ 10:09
quote:
14s.gif Op maandag 6 juni 2011 09:25 schreef sanger het volgende:
Ik heb weer eens een vraag :P

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:
- 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.
sangermaandag 6 juni 2011 @ 10:50
quote:
0s.gif 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
quote:
0s.gif 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.
Ik krijg ze eigenlijk allebei niet goed.

Misschien is het makkelijker als ik iets meer info geef over de sheet zelf :P

• 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
mrbombasticmaandag 6 juni 2011 @ 10:57
quote:
0s.gif 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 :P

• 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
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.
sangermaandag 6 juni 2011 @ 11:34
quote:
0s.gif 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.
Nu werkt het inderdaad :) Top, dank je wel :)

[ Bericht 0% gewijzigd door sanger op 06-06-2011 12:18:26 ]
DaFanmaandag 6 juni 2011 @ 12:06
Of gewoon in E6

Afronden.naar.beneden($D$3/Rijen($C$6:$C$23);0)+Als(C6<=Rest($D$3;Rijen($C$6:$C$23));1;0)
en slepen.
sangermaandag 6 juni 2011 @ 12:32
Nog kleine aanvullende vraag. Ik wil dat een simpele G12-F12 alleen wordt uitgevoerd als er een waarde is ingegeven in G12. Maar kom er even niet uit en kan het met Google ook niet vinden. Iemand?
hendrik2009maandag 6 juni 2011 @ 20:36
=ALS(G12<>"";G12-F12;"")
DoorgestokenKaartdinsdag 7 juni 2011 @ 11:45
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:

aczpG.jpg
qu63dinsdag 7 juni 2011 @ 12:06
quote:
0s.gif 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 ]
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.
DaFandinsdag 7 juni 2011 @ 12:11
Gegevens - Groeperen

Maar wordt niet zo mooi als hierboven ;)
qu63dinsdag 7 juni 2011 @ 12:23
quote:
0s.gif Op dinsdag 7 juni 2011 12:11 schreef DaFan het volgende:
Gegevens - Groeperen

Maar wordt niet zo mooi als hierboven ;)
Met automatische opmaak en wat als()-formules moet je toch ver kunnen komen ;-)
sangerdinsdag 7 juni 2011 @ 12:24
quote:
0s.gif Op maandag 6 juni 2011 20:36 schreef hendrik2009 het volgende:
=ALS(G12<>"";G12-F12;"")
Tnx :)
DoorgestokenKaartdinsdag 7 juni 2011 @ 12:56
quote:
0s.gif 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.
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.
Deetchwoensdag 8 juni 2011 @ 13:15
kun je het niet in SAP doen?
DoorgestokenKaartwoensdag 8 juni 2011 @ 13:25
quote:
3s.gif Op woensdag 8 juni 2011 13:15 schreef Deetch het volgende:
kun je het niet in SAP doen?
Waar in SAP? Zo goed ben ik niet met SAP.
DaFanwoensdag 8 juni 2011 @ 15:28
Of in SQL, of Exact of in Access of in Paint.

Sap is ERP Deetch...
qu63woensdag 8 juni 2011 @ 17:50
quote:
0s.gif 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...
Met MySAP ERP Financials kan je het wel voor elkaar krijgen hoor ;)
qu63donderdag 9 juni 2011 @ 10:36
Kunnen deze macro's korter/sneller?
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
Cel C23 is een samengestelde cel die van C23 tot en met J23 loopt.
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
De bedoeling is dat alle draaitabellen op die sheet geupdate worden en op alfabetische volgorde gesorteerd worden. Draaitabel27 moet als laatste gedaan worden, deze wordt namelijk gebaseerd op data uit de andere draaitabellen..
DaFandonderdag 9 juni 2011 @ 10:55
With
qu63donderdag 9 juni 2011 @ 10:59
quote:
0s.gif Op donderdag 9 juni 2011 10:55 schreef DaFan het volgende:
With
Kan je iets duidelijker zijn? ;)
DaFandonderdag 9 juni 2011 @ 13:24
Nee telefoon typt kut :p

With Range("A1")
.value = 4
.interior = black
End With

Snap je ??
Deetchdonderdag 9 juni 2011 @ 13:49
quote:
0s.gif 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 ??
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:

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
In plaats van Range("A" & pivot( i)) gebruik je:
Sheets("Hulpsheet Sven").PivotTables("Draaitabel"&pivot( i))

[ Bericht 3% gewijzigd door Deetch op 09-06-2011 13:56:16 ]
qu63donderdag 9 juni 2011 @ 14:04
quote:
3s.gif 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))
Duidelijk! ^O^

Een tijdje geleden kwam ik met de vraag hoe ik een ijst unieke waarden uit een kolom kon krijgen. Toen werd gezegd dat een draaitabel het handigst is. Nu kom ik er alleen achter dat niet op ieder werkblad dezelfde rij gekozen moet worden..

In A34:A64 heb ik een lijst met tabbladnamen staan, in B34:B64 staan de kolomnaam waar ik de unieke waarden van wil weten.
[code]
Amsterdam H
Rotterdam I
[knip]
[/code]
Aangezien de kolom dus variabel is, is een standaard draaitabel niet handig. Kan ik dit niet oplossen in een formule/macro?


Even de vraag parkeren, volgens mij heb ik iets..
Deetchdonderdag 9 juni 2011 @ 14:09
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??)
qu63donderdag 9 juni 2011 @ 14:17
quote:
3s.gif 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??)
=SOMPRODUCT((A1:B4="tekst")*(C5:F20="tekst"))
qu63donderdag 9 juni 2011 @ 14:20
quote:
3s.gif 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))
Hmz, deze regel blijft een foutmelding geven..
1    With Sheets("Hulpsheet Sven").PivotTables("Draaitabel" & pivot(I)).PivotCache.Refresh ''hier gebruik je de variabele uit de pivot array als rijnummer
Terwijl dezeregel wel werkte:
1Sheets("Hulpsheet Sven").PivotTables("Draaitabel27").PivotCache.Refresh

En gefixed, tabel9 had een andere naam gekregen..

[ Bericht 5% gewijzigd door qu63 op 09-06-2011 14:35:30 ]
qu63donderdag 9 juni 2011 @ 14:47
M'n macrocode is nu nog wat ingekort:
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
qu63donderdag 9 juni 2011 @ 15:01
In A34:A64 heb ik een lijst met tabbladnamen staan, in B34:B64 staat de kolomnaam waar ik de unieke waarden van wil weten.
1
2
3
4
Amsterdam H
Rotterdam I
Hilversum X
[..]
Het bereik A34:A64 wordt automatisch gevuld. Hier kan dus 1 plaatsnaam in staan, of er kunnen 30 plaatsnamen in staan. Iedere keer een nieuwe pivottable aanmaken is geen optie (moet "onderhoudsvrij" zijn).
In B2:AE31 wil ik, per kolom (plaatsnaam) een lijst krijgen met de unieke waarden van rij 6 tot en met 100 van de hierboven aangegeven kolom (H,I of X in dit geval).

Hoe kan ik dit het beste doen?
DaFandonderdag 9 juni 2011 @ 15:08
Lekker bezig.
Geen * gebruiken in Somproduct (performance-technisch)
Denk ook aan -- anders werkt hwt niet meer :P
qu63donderdag 9 juni 2011 @ 15:10
quote:
0s.gif 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 :P
Die * heb ik hier van t forum..

Als je alleen aantallen wilt hebben hoef je -- niet te gebruiken, als je alle waarden bij elkaar opgeteld wilt hebben wel, althans, dacht ik..
icebeerdonderdag 9 juni 2011 @ 15:59
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
Deetchdonderdag 9 juni 2011 @ 16:06
De -- is toch om te forceren dat de functie TRUE en FALSE als 1 of 0 ziet?

=--SUMPRODUCT((A2:B4="tekst"),(C5:F20="tekst")) geeft als foutmelding #VALUE!
=--SUMPRODUCT((A2:B4="tekst")*(C5:F20="tekst")) geeft als foutmelding #N/A
=--SUMPRODUCT((A2:B4&C5:F20="tekst"),1) geeft als foutmelding #N/A

Zo kom ik nog niet echt verder. ik hou het voorlopig wel op het optellen van verschillende countifs.
DaFandonderdag 9 juni 2011 @ 16:08
=SUMPRODUCT(--(A2:B4="tekst"),

Etc
Deetchdonderdag 9 juni 2011 @ 16:11
quote:
0s.gif 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
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)))
Deetchdonderdag 9 juni 2011 @ 16:14
quote:
0s.gif Op donderdag 9 juni 2011 16:08 schreef DaFan het volgende:
=SUMPRODUCT(--(A2:B4="tekst"),

Etc
=SUMPRODUCT(--(A2:B4="tekst"),--(C5:D7="tekst"))
Dan komt er 0 uit in plaats van 13 zoals ik met de hand tel.

=COUNTIF(A2:B4,"tekst")+COUNTIF(C5:F20,"tekst") geeft overigens ook 13.
qu63donderdag 9 juni 2011 @ 16:17
quote:
3s.gif 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.
Omdat "tekst"+"tekst" ook 0 is. Hadden er getallen gestaan dan had er 6289568 uit kunnen komen ipv 13.
quote:
=COUNTIF(A2:B4,"tekst")+COUNTIF(C5:F20,"tekst") geeft overigens ook 13.
qu63donderdag 9 juni 2011 @ 16:19
1=VERGELIJKEN("*Adviseur*";'Amsterdam MB'!A4:Q4;0)

Nu moet alleen 'Amsterdam MB' variabel worden..
Als ik het zo doe werkt het niet:
1=VERGELIJKEN("*Adviseur*";"'"&A35&"'!A4:Q4";0)
In A35 staat dus Amsterdam MB

[ Bericht 34% gewijzigd door qu63 op 09-06-2011 16:36:48 (Aargh! Suf bezig..) ]
icebeerdonderdag 9 juni 2011 @ 16:34
quote:
3s.gif 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)))
wow super!
hij deed het in eerste instantie trouwens niet, toen ik de , veranderde voor ; wel
=IF(B1=0;0;SUM(INDIRECT("C"&ROW(B1)&":C"&ROW(B1)+B1-1)))
qu63donderdag 9 juni 2011 @ 17:06
quote:
0s.gif 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
Of is dit een limitatie van Vergelijken() en moet het met een macro?
DaFandonderdag 9 juni 2011 @ 19:32
quote:
0s.gif 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.

[..]

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
DaFandonderdag 9 juni 2011 @ 19:35
quote:
0s.gif 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
=VERGELIJKEN("*Adviseur*";INDIRECT(A35 & "!A4:Q4");0)

Volgens mij hoeven de enkele aanhalingstekens er niet omheen. Bij mij niet iig (Office 2010)
qu63vrijdag 10 juni 2011 @ 09:09
quote:
7s.gif 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)
INDIRECT(A35 & "!A4:Q4") wordt bij mij vervangen door #VERW (Excel 2010 NL)..
DaFanvrijdag 10 juni 2011 @ 09:11
quote:
0s.gif Op vrijdag 10 juni 2011 09:09 schreef qu63 het volgende:

[..]

INDIRECT(A35 & "!A4:Q4") wordt bij mij vervangen door #VERW (Excel 2010 NL)..
Sorry wel aanhalingstekens! Je hebt een spatie in je sheetnaam :)
qu63vrijdag 10 juni 2011 @ 09:17
quote:
0s.gif Op vrijdag 10 juni 2011 09:11 schreef DaFan het volgende:

[..]

Sorry wel aanhalingstekens! Je hebt een spatie in je sheetnaam :)
Klopt, deze werkt wel:
1=VERGELIJKEN("*Adviseur*";INDIRECT("'"&A35&"'!A4:Q4");0)
qu63vrijdag 10 juni 2011 @ 10:08
Deze code geeft als resultaat #WAARDE, kan iemand zien waar het aan ligt?
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
Ik gebruik deze code om de eerste unieke waarde te vinden:
1=UNIQUE("'"&A34&"'!$"&B34&"$6:$"&B34&"$106";1)
Als ik em niet dynamisch maak werkt het wel:
1=UNIQUE('Amsterdam IMB'!$H$6:$H$106;1)
Deetchvrijdag 10 juni 2011 @ 10:38
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.
Deetchvrijdag 10 juni 2011 @ 10:39
quote:
7s.gif 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
Tja dat is niet echt een verbetering tov het optellen van de countifs maar toch bedankt.
qu63vrijdag 10 juni 2011 @ 10:41
quote:
3s.gif 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.
Ja! Thanks! :*
DaFanvrijdag 10 juni 2011 @ 10:48
quote:
3s.gif 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.
mee eens maar ik krijg het niet anders voor elkaar.. :(
qu63vrijdag 10 juni 2011 @ 11:10
Wat moet ik aan deze functie aanpassen om er voor te zorgen dat lege cellen overgeslagen worden?
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
qu63vrijdag 10 juni 2011 @ 11:35
En als ik deze macro draai doet Excel er bijna 20 seconden over, waar ligt dat aan en kan dat verholpen worden?
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
Het werkboek heeft nu 17 sheets..
Deetchvrijdag 10 juni 2011 @ 14:53
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.

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?
qu63vrijdag 10 juni 2011 @ 15:23
quote:
3s.gif 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.
Dit scheelt al bijna 10 sec! ^O^
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?
Hoe zou ik dat anders moeten doen dan?
Deetchzondag 12 juni 2011 @ 17:58
leg eerst eens uit wat je met die tweede code wilt bewerkstelligen? Dan zal ik na de pinksteren eens een poging wagen.
qu63maandag 13 juni 2011 @ 01:41
quote:
3s.gif 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.
Vanaf cel A32 naar beneden wil ik een lijst met sheetnamen
DaFanmaandag 13 juni 2011 @ 09:28
quote:
0s.gif 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
Deetchdinsdag 14 juni 2011 @ 09:49
quote:
7s.gif Op maandag 13 juni 2011 09:28 schreef DaFan het volgende:

[..]
[ code verwijderd ]

zo ga je van 20 regels code naar 6 dat is vast sneller.
Holy_Goatdinsdag 14 juni 2011 @ 10:50
quote:
7s.gif Op maandag 13 juni 2011 09:28 schreef DaFan het volgende:

[..]
[ code verwijderd ]

1
2
3
4
dim ws as worksheet
for each ws in thisworkbook.sheets
   .... ws.name gebruiken
next ws

echter, wat wel leuk zou zijn in vba....
cells(i++,1) als zijnde gebruik i, en voeg daarna automatisch 1 toe aan i.
Toch jammer.
qu63woensdag 15 juni 2011 @ 09:14
quote:
7s.gif Op maandag 13 juni 2011 09:28 schreef DaFan het volgende:

[..]
[ code verwijderd ]

Hmz, die code kost me alasnogruim 20 seconden.. Geen verbetering t.o.v. dit dus:
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
DaFanwoensdag 15 juni 2011 @ 10:24
quote:
0s.gif 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 ]

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

[ Bericht 2% gewijzigd door DaFan op 15-06-2011 10:30:21 ]
qu63woensdag 15 juni 2011 @ 11:29
quote:
7s.gif 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 dat het vooral komt door bijna 800 cellen met een UNIQUE()-functie..

Berekenen uitzetten was idd wel een goede, nu duurde het <1sec ipv 12 sec!

[ Bericht 4% gewijzigd door qu63 op 15-06-2011 11:36:16 ]
qu63woensdag 15 juni 2011 @ 11:37
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..
DaFanwoensdag 15 juni 2011 @ 12:13
quote:
0s.gif 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..
Ik denk gewoon met een IF, volgens mij evalueert ie pas FALSE of TRUE na de IF
DaFanwoensdag 15 juni 2011 @ 12:56
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
?

[ Bericht 19% gewijzigd door DaFan op 15-06-2011 13:22:03 ]
Deetchwoensdag 15 juni 2011 @ 13:12
quote:
7s.gif Op woensdag 15 juni 2011 12:56 schreef DaFan het volgende:

[ code verwijderd ]

?
dan stopt de code toch bij de eerste de beste lege cel? vraag me af of dat de bedoeling is.
DaFanwoensdag 15 juni 2011 @ 13:22
quote:
3s.gif 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.
Aangepast, thanks.
VBA heeft geen 'Continue' :r
qu63woensdag 15 juni 2011 @ 13:29
quote:
7s.gif Op woensdag 15 juni 2011 12:56 schreef DaFan het volgende:

[ code verwijderd ]

?
Helaas, het veranderd niets, ik krijg nog steeds in een lijst unieke waarden een lege cel ;(
DaFanwoensdag 15 juni 2011 @ 13:48
quote:
0s.gif 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 ;(
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
1=IF(ROW(A1)=4;"";ROW(A1))
(doorgetrokken)
Dan geeft cl.Value = 9
cl.Formula = 10

Edit, zo dus:
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
qu63woensdag 15 juni 2011 @ 14:07
quote:
7s.gif 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 ]

Check! Er staan idd formules in :) ^O^
DaFanwoensdag 15 juni 2011 @ 14:12
Snelheid nu?
McCandlesswoensdag 15 juni 2011 @ 14:35
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?
DaFanwoensdag 15 juni 2011 @ 14:37
quote:
5s.gif 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?
http://www.contextures.com/xldataval02.html
qu63woensdag 15 juni 2011 @ 14:38
quote:
7s.gif Op woensdag 15 juni 2011 14:12 schreef DaFan het volgende:
Snelheid nu?
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 :)
DaFanwoensdag 15 juni 2011 @ 14:48
quote:
0s.gif 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 :)
Mooi! Next ;)
McCandlesswoensdag 15 juni 2011 @ 14:53
quote:
Mijn dank is groot!
qu63woensdag 15 juni 2011 @ 15:06
quote:
7s.gif Op woensdag 15 juni 2011 14:48 schreef DaFan het volgende:

[..]

Mooi! Next ;)
Sorry, ik heb even niets meer ;) M'n sheets zijn nu weer snel en ze doen wat ze moeten doen!
actuarisjedonderdag 16 juni 2011 @ 08:21
Hi All,

Ik heb een stukje code dat bepaalt of de regels in een bepaalde sectie wel of niet moeten worden laten zien.

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

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?
yozddonderdag 16 juni 2011 @ 08:48
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?
Deetchdonderdag 16 juni 2011 @ 09:22
quote:
0s.gif 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?
Volgens mij was er bij Excel 2010 in de VBA nogal wat aangepast misschien dat dat de oorzaak is.
Helpt het als je in de macro syntax (eerste regel van Sub ......) de variabelen Hide en Level ook definieert als "as integer"?
Deetchdonderdag 16 juni 2011 @ 09:24
quote:
0s.gif 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?
Nee. De workaround die je kunt toepassen:

Screendump maken (CTRL+printScreen)
Plakken in paint of ander tekenprogramma
Selectie hieruit kopieren
Plakken speciaal als metabestand
qu63donderdag 16 juni 2011 @ 11:05
Benne we weer :s)
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
Geeft een foutmelding op regel 8 "typen komen niet met elkaar overeen" (en ook op regel 13 als ik het eerste blok weg laat)

Nu dacht ik dat het gisteren nog wel werkte.. Wie weet wat er fout is?

-edit-
WTF? Na het toevoegen van een errorhandler (omdat m'n sheet maar op handmatig bijwerken bleef staan) werkt het wel..
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


[ Bericht 3% gewijzigd door qu63 op 16-06-2011 11:14:22 ]
yozddonderdag 16 juni 2011 @ 11:14
quote:
3s.gif 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
Dan ga ik het maar op deze manier doen denk ik. Bedankt!
DaFandonderdag 16 juni 2011 @ 11:15
Regel 8 = regel 9 in code tag toch?
Waarom maak je h een Long?
Waarom zet je niet neer "Next h" ipv "Next", volgens mij is dit geen correcte syntax
DaFandonderdag 16 juni 2011 @ 11:16
quote:
0s.gif Op donderdag 16 juni 2011 11:14 schreef yozd het volgende:

[..]

Dan ga ik het maar op deze manier doen denk ik. Bedankt!
Office 2010 gebruiken :P Daar zit een screenshot functie in!
314donderdag 16 juni 2011 @ 12:26
ik wil graag in een percentage uitdrukken hoe ver iets af is, dit wordt berekend door het aantal minuten dat bepaalde stappen duren te delen door het totaal, en dat weer te geven als %

even simpel gezegd, 4 stappen van 15 minuten zijn dus een uur:
1
2
3
4
5
A    B    C
15
15
15
15   60  100%
de 100% in C4 komt automatisch uit iets dergelijks als =SUM(A1:A4)/B4 --> resultaat is 1 --> 100%
maar nu wil ik dat een bepaalde stap alleen meegerekend wordt op basis van 'done' ja/nee

1
2
3
4
15 Done
15 Done
15
15          60  50%

hoe doe ik dat :?
DaFandonderdag 16 juni 2011 @ 12:35
=SUMIF(B1:B4;"=Done";A1:A4)/C4

(Neem aan dat '60' in C4 staat, niet in B4).
qu63donderdag 16 juni 2011 @ 13:02
quote:
7s.gif Op donderdag 16 juni 2011 11:15 schreef DaFan het volgende:
Regel 8 = regel 9 in code tag toch?
Nope, echt regel 8
quote:
Waarom maak je h een Long?
copy-paste :P
quote:
Waarom zet je niet neer "Next h" ipv "Next", volgens mij is dit geen correcte syntax
idem..

Vond de code ergens en heb em aangepast naar mijn wens.
314donderdag 16 juni 2011 @ 13:44
quote:
7s.gif 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).
^O^ alleen wel komma gebruiken ipv ;
DaFandonderdag 16 juni 2011 @ 13:46
quote:
0s.gif Op donderdag 16 juni 2011 13:44 schreef 314 het volgende:

[..]

^O^ alleen wel komma gebruiken ipv ;
Moet je je taal er maar bij zetten zoals in de OP staat :6
314donderdag 16 juni 2011 @ 14:06
quote:
12s.gif Op donderdag 16 juni 2011 13:46 schreef DaFan het volgende:

[..]

Moet je je taal er maar bij zetten zoals in de OP staat :6
had al SUM gebruikt in plaats van SOM ;)
314donderdag 16 juni 2011 @ 16:06
quote:
7s.gif Op donderdag 16 juni 2011 12:35 schreef DaFan het volgende:
=SUMIF(B1:B4;"=Done";A1:A4)/C4
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
DaFandonderdag 16 juni 2011 @ 16:22
quote:
0s.gif 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 te moeilijk doen imo;
=(SUMIF(B1:B4;"=Done";A1:A4)+SUMIF(B1:B4;"=Skip";A1:A4))/C4
314donderdag 16 juni 2011 @ 16:30
als je dat doet dan telt ie A1:A4 dubbel, deelt ie door C4 en krijg je 2x zo hoge waarden. daarbij zou ik alle SUMIF aan moeten gaan passen en dat zijn er een stuk of 50.. een find&replace zou zoveel makkelijker zijn
Deetchdonderdag 16 juni 2011 @ 16:57
=SUMIF(B1:B4;OR("=Done";"=Skip");A1:A4)/C4 werkt ook niet?
DaFandonderdag 16 juni 2011 @ 18:09
quote:
0s.gif 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.
Niet waar. Heb je het geprobeerd?
DaFandonderdag 16 juni 2011 @ 18:10
quote:
3s.gif Op donderdag 16 juni 2011 16:57 schreef Deetch het volgende:
=SUMIF(B1:B4;OR("=Done";"=Skip");A1:A4)/C4 werkt ook niet?
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.
qu63donderdag 16 juni 2011 @ 18:49
quote:
7s.gif 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.
SUM(IF(B1:B4="Done";IF(B1:B4="Skip";A1:A4/C4;"Fout!"))
:?

http://www.ozgrid.com/Excel/sum-if.htm

-edit-
Sumifs zou ook moeten werken: http://techtites.com/2008(...)multiple-conditions/
hetzusjevanvrijdag 17 juni 2011 @ 12:25
Ik wil graag het commando vervangen gebruiken, maar kan dat ook voor meerdere tekens in één cel?

Dit is mijn uitgangspunt:
T1AC=MEAN(T1_AC,T1_AC2).

Als ik =VERVANGEN(A1;2;1;2) gebruik wordt het 2e teken in cel A1 veranderd in een 2. Maar ik wil dat de andere T1'tjes ook een T2 worden. Ik wil dus dat er komt te staan: T2AC=MEAN(T2_AC,T2_AC2).

Hoe kan je meerdere tekens in één keer in 1 cel vervangen?

Meerdere keren het commando vervangen achter elkaar pakt ie niet. Ook =vervangen(x;x;x;x;x;x;x;x;x;x;) doet ie niet. Bij de helpfunctie staat alleen hoe je één teken of een tekenreeks kunt vervangen. 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
DaFanvrijdag 17 juni 2011 @ 12:41
quote:
0s.gif 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
Je moet SUBSTITUEREN gebruiken ipv VERVANGEN.

=SUBSTITUEREN (A1;1;2)
Deetchvrijdag 17 juni 2011 @ 13:04
ctrl+H en dan "T1" vervangen door "T2"
yozdvrijdag 17 juni 2011 @ 13:25
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...

[ Bericht 13% gewijzigd door yozd op 17-06-2011 13:31:27 ]
hetzusjevanvrijdag 17 juni 2011 @ 13:43
quote:
7s.gif Op vrijdag 17 juni 2011 12:41 schreef DaFan het volgende:

[..]

Je moet SUBSTITUEREN gebruiken ipv VERVANGEN.

=SUBSTITUEREN (A1;1;2)

quote:
3s.gif Op vrijdag 17 juni 2011 13:04 schreef Deetch het volgende:
ctrl+H en dan "T1" vervangen door "T2"
Thanks beide! Heb beide opties kunnen gebruiken voor verschillende doeleinden, het is nu oplost :).
qu63vrijdag 17 juni 2011 @ 14:12
quote:
0s.gif 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...
De functie cel() gebruikt altijd de laatst actieve cel, behalve als je er een referentie achter plakt. In jouw geval dus A1 :)
qu63vrijdag 17 juni 2011 @ 14:14
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..
yozdvrijdag 17 juni 2011 @ 14:17
quote:
0s.gif 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..
http://www.rondebruin.nl/sendmail.htm
qu63vrijdag 17 juni 2011 @ 18:45
quote:
Ik wil de mail nog wel normaal op kunnen maken in Outlook. De (weliswaar handige) opties die ik daar zie geven mij die optie niet ;(
spooky1234zondag 19 juni 2011 @ 02:42
Vraagje: (denk redelijk simpel)

In Kolom A: Klantnaam
In Kolom B: Bedrag

Complicatie; sommige klanten komen meerdere keren voor bijvb;

Jan 100
Kees 200
Jan 60
Piet 900

Wat ik wil is een kolom met alle klanten maar dan uniek, dus niet Jan 2x. En in 2e kolom totaalbedragen per klant;

Jan 160
Kees 200
Piet 900

Remove duplicate values is geen probleem, maar hoe tel ik lookups van zelfde klanten bij elkaar?
hendrik2009zondag 19 juni 2011 @ 09:32
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.
qu63zondag 19 juni 2011 @ 12:10
quote:
0s.gif 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.
Of met deze functie: [Excel] Het grote Excel vragen topic #26
spooky1234maandag 20 juni 2011 @ 07:17
Thx voor vorige tip mbt pivottable, nu weer een newb question;

Ik kom niet helemaal uit met index & match. Wat ik wil is juiste "dagprijs" opzoeken in een tabel waarvan kolommen dagen zijn en regels staan voor artikelen.

- - - - - - dag1 dag2 dag3
arikel1 -- 22 -- - 18 ---- 29
artikel2 - 67 - -- 25 -- - 98
artikel3 - 33 - -- 35 -- - 12

Ik wil een formule waarin item en dagnr invoer zijn en uitvoer waarde uit tabel.
Dus f(artikel2,dag2)=25

---------------- Never mind; heb al een oplossing gevonden; http://www.techonthenet.com/excel/formulas/2d_lookup.php

[ Bericht 7% gewijzigd door spooky1234 op 20-06-2011 08:31:02 ]
loederswoensdag 22 juni 2011 @ 13:45
M'n vraag klinkt zo simpel, ik heb alleen geen idee hoe het moet ..

kd5rte.jpg

Bij kolom C, onder de "jaarlijkse vasten kosten" (Ja ik weet dat die n daar niet hoort :@ ).
Daar wil ik weer gewoon 1 of 2 van de verticale lijntjes zeg maar, maar zonder dat dat daar boven allemaal weer veranderd.

Iemand ?
crossoverwoensdag 22 juni 2011 @ 14:07
Kijk eens bij start - Uitlijning en dan onder samenvoegen en centreren: 'samenvoegen van cellen opheffen'.
loederswoensdag 22 juni 2011 @ 14:17
quote:
0s.gif 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'.
Nee die werkt niet, aangezien er geen cellen zijn samengevoegd, het is 1 cel die ik breder heb gemaakt.
qu63woensdag 22 juni 2011 @ 14:45
quote:
0s.gif 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.
Extra kolom toevoegen en dan de cellen erboven op iedere regel samenvoegen
Da_KlouwNwoensdag 22 juni 2011 @ 20:14
Ik wil graag het volgende bereiken:

in een excelbestand staan verschillende gegevens. Omdat deze gegevens geëxporteerd worden uit een ander programma, worden getallen niet herkent.
In 1 kolom heb je in een cel een getal gevolgd door een *. Doordat het geëxporteerd is, staat de cel niet als getal ingesteld, maar wordt er ook nog eens een " *" achter het getal gezet zodat al helemaal niet meer als getal herkent kan worden.
In verschillende cellen er onder heb je dan tekst staan.

bv:

A1 = 12345 *
A2 = ABCD
A3 = ABCD
A4 = 54321 *

Wat ik wil bereiken is dat er in kolom B komt te staan of de waarden in kolom A getallen of tekst zijn. Ik heb al geprobeerd met de formule:

1
2
 In cel B1:
= LINKS(A1,LENGTE(A1)-2) 
Het resultaat is dat in B1 het getal komt te staan "12345" maar dat het niet al getal herkend wordt:
bv in cel C1:
1 = ISGETAL(B1) 
Dit geeft al resultaat ONWAAR. Het bizarre is dat ik echter wel kan rekenen met cel B1. Dus Excel herkent het wel als getal maar niet altijd, en ook niet waar ik het nodig heb.

De uiteindelijke bedoeling is dat wanneer er in kolom A een getal staat, dat in kolom B een naam komt te staan die via verticaal zoeken wordt opgezocht aan de hand van het getal in kolom A.

Ik heb momenteel het volgende in cel B1 staan:
1=ALS(ISGETAL(LINKS(A1;1))=WAAR;VERT.ZOEKEN(LINKS(A1;LENGTE(A1)-2);leveranciers;2;ONWAAR);"")
Eerst ga ik controleren of het 1ste karakter van cel A1 een getal is. Als dit zo is, dan moet er via verticaal zoeken gezocht worden op de waarde in cel A1 zonder de 2 laatste karakters, nl. de " *".
Het probleem zit hem net in het eerste stuk van de ALS -> ISGETAL geeft overal ONWAAR...

Iemand een idee?

-EDIT-
Mijn probleem is opgelost _O_
Ik heb zelf een functie geschreven die het 1ste karakter omzet naar een getal. Wanneer ik hier dan de ISGETAL-functie mee combineer, geeft dit het gewenste resultaat.
Even ter info nog mijn zelfgeschreven functie:

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
Als ik dit dan ingeef in cel B2: =ALS(ISGETAL(tekstconvert(A1))=WAAR; ...
geeft Excel de naam bij de getallen en niets bij de niet-getallen ^O^

[ Bericht 9% gewijzigd door Da_KlouwN op 22-06-2011 20:27:04 ]
DaFandonderdag 23 juni 2011 @ 11:06
Waarom zet je er niet gewoon WAARDE() omheen dat doet hetzelfde :')
Da_KlouwNdonderdag 23 juni 2011 @ 20:21
quote:
7s.gif Op donderdag 23 juni 2011 11:06 schreef DaFan het volgende:
Waarom zet je er niet gewoon WAARDE() omheen dat doet hetzelfde :')
Oeps :') Al dat werkt voor niets :D
Mijn oplossing werkte uiteindelijk toch niet optimaal :'(
BrandXzondag 26 juni 2011 @ 21:57
Vraagje?

in excel 2007, hoe kan ik mijn afdrukbereik instellen?

in lager dan 2007 deed ik dat via bestand -> afdrukbereik.

In 2007 vind ik wel paginaindeling -> en dan onder paginainstelling: afdrukbereik.

Doch als ik daarop klik en zeg afdrukbereik bepalen, dan gebeurt er gewoon niets ;(

Wat doe ik fout, c.q. waar moet ik zoeken?
BrandXzondag 26 juni 2011 @ 21:59
laat maar, heb het al gevonden. Het is wel daar, maar anders dan in 2003 en lager, doet hij niet automatisch uitzoomen om het passend te maken, dat moet je dan nog handmatig doen.

naja. tis al klaar nu :P