abonnement Unibet Coolblue Bitvavo
  donderdag 8 mei 2014 @ 13:33:44 #181
170545 DaviniaHR
Mrs. PhysicsRules
pi_139696687
Als ik het in kopieer krijg ik nu de foutmelding "Complieerfout: verwacht: insructie-einde
En ik krijg het als 1 regel, niet met die tabs erbij. Is dat erg?

EDIT: Dan springt de cursos ook naar de eerste "dim" (van Dim WS As Worksheet)

[ Bericht 21% gewijzigd door DaviniaHR op 08-05-2014 13:54:40 ]
*O* Trotse mama van E l i en A v i v a *O*
Insanity is heritable. You get it from your children.
Ik ben wel gek, maar niet achterlijk.
If you can't beat them, confuse them.
pi_139697655
Als 1 regel? Hoe kopieer je die code dan? :?

http://www.mijnbestand.nl/Bestand-OBWTR84NMQRG.xlsm
  donderdag 8 mei 2014 @ 14:51:19 #183
170545 DaviniaHR
Mrs. PhysicsRules
pi_139699547
Ah, ik heb de code nu goed ingekopieerd.
Maar nu kan ik ook de waardes van de rapportfilters niet meer instellen?
Of de waardes sorteren?
*O* Trotse mama van E l i en A v i v a *O*
Insanity is heritable. You get it from your children.
Ik ben wel gek, maar niet achterlijk.
If you can't beat them, confuse them.
pi_139700196
Ik zei toch dat je nagenoeg niets meer kan doen? :P
pi_139732819
Ik heb een vraag wat misschien heel simpel op te lossen is, maar ik weet het niet.
Ik heb een Excel 2007 document met verder alleen maar tekst, wat 1,5 mb groot is.
Vergelijkbare documenten zijn normaal maar iets van 30 of 40 kb.

Volgens mij zit er een verborgen bestandje in ofzo wat voor die 1,5 mb zorgt, hoe kan ik dit zien ?
pi_139732875
Veel spaties op tabs aan het einde van de regel?
Aldus.
pi_139733296
Hoe kan ik dat zien :@
pi_139733312
Is het niet heel stiekem een gedeeld werkboek of iets dergelijks? Laatst op het werk begon iemand ook al te zeuren een bestand dat steeds maar groter werd.

Bleek het een gedeeld werkboek te zijn waarbij de wijzigingen worden bewaard... :')
pi_139733864
Mogelijk zijn er ook tabbladen verborgen waar veel data in staat.
Afbeeldingen doen het ook altijd goed.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_139733883
Als het een *.xlsx is, dan kun je *.xlsx veranderen in *.zip en dan unzippen(vergeet niet een copy te maken van je originele bestand!).
Dan kun je misschien nog info vinden over wat de oorzaak is van de grootte van het bestand.
  vrijdag 9 mei 2014 @ 12:51:14 #191
170545 DaviniaHR
Mrs. PhysicsRules
pi_139736779
quote:
2s.gif Op donderdag 8 mei 2014 15:10 schreef sylvesterrr het volgende:
Ik zei toch dat je nagenoeg niets meer kan doen? :P
Is er een regeltje in de sub die ik kan ewghalen waardoor je wel de rapportfilters kunt instellen?
Niet nieuwe filters inslepen, maar wel op het knopje drukken, zeg maar?
*O* Trotse mama van E l i en A v i v a *O*
Insanity is heritable. You get it from your children.
Ik ben wel gek, maar niet achterlijk.
If you can't beat them, confuse them.
pi_139738143
quote:
0s.gif Op vrijdag 9 mei 2014 12:51 schreef DaviniaHR het volgende:

[..]

Is er een regeltje in de sub die ik kan ewghalen waardoor je wel de rapportfilters kunt instellen?
Niet nieuwe filters inslepen, maar wel op het knopje drukken, zeg maar?
Dat durf ik zo 1,2,3 niet te zeggen. Mijn gebruikers mogen de standaardfilters niet gebruiken vanwege de vele pivot tables die ik filter met behulp van slicers. :P
  vrijdag 9 mei 2014 @ 13:43:23 #193
170545 DaviniaHR
Mrs. PhysicsRules
pi_139738503
Oke, helder.
Bedankt voor je hulp iig :)
*O* Trotse mama van E l i en A v i v a *O*
Insanity is heritable. You get it from your children.
Ik ben wel gek, maar niet achterlijk.
If you can't beat them, confuse them.
pi_139752089
quote:
0s.gif Op vrijdag 9 mei 2014 12:51 schreef DaviniaHR het volgende:

[..]

Is er een regeltje in de sub die ik kan ewghalen waardoor je wel de rapportfilters kunt instellen?
Niet nieuwe filters inslepen, maar wel op het knopje drukken, zeg maar?
regel 15
PF.EnableItemSelection = isAllowed
Die weghalen
  zaterdag 10 mei 2014 @ 14:31:03 #195
249182 Holy_Goat
mhèèhèhè
pi_139776426
Lieve mensen.

Waarom de fuck gebeurt dit? }:|


Ik verwacht gewoon 0.03 als antwoord.

Wel via een omweg opgelost nu, maar slaat echt nergens op
1
2
3
4
5
6
7
Function getdecimals2(ByVal value As Double) As Double
        Dim a As Double
        Dim b As String
        a = Round(value * 100, 0)
        b = CStr(Right(a, 2))
        getdecimals2 = CDbl(b) / 100
End Function

Zit er zo een onnauwkeurigeheid in?
pi_139782579
quote:
0s.gif Op zaterdag 10 mei 2014 14:31 schreef Holy_Goat het volgende:
Lieve mensen.

Waarom de fuck gebeurt dit? }:|
[ afbeelding ]

Ik verwacht gewoon 0.03 als antwoord.

Wel via een omweg opgelost nu, maar slaat echt nergens op
[ code verwijderd ]

Zit er zo een onnauwkeurigeheid in?
Het is maar wat je als zo'n grote onnauwkeurigheid beschouwd (0,00000000000116415210804632
). Het simpele antwoord is gewoon, ja Excel voldoet hierbij aan de internationaal geaccepteerde standaard voor het gebruik van floating point.

Het opslaan van decimalen in een binair getal is zeer ingewikkeld. Ze hebben hiervoor een systematiek bedacht om het toch in 64 bit (of 8 bytes) op te slaan. Wat ze hiervoor doen is je decimale getal omzetten naar de dichtstbijzijnde floating point dat op 15 decimalen nauwkeurig werkt. Door de output af te ronden in je scherm, heb je dit normaal niet door.

Het echte antwoord is eigenlijk dus ja, er zit onnauwkeurigheid in. Zodra je een breuk hebt (je input in dit geval), dan is dit per definitie al een floating point en dus onnauwkeurig. Het zal bijna nooit mis gaan, net zoals je je output in je eerste macro op 2 decimalen had kunnen afronden.

returnsdecimals = Round(value - Round(value), 2)

[ Bericht 5% gewijzigd door snabbi op 10-05-2014 18:09:03 ]
pi_139784534
je vergeet dat er ook naar boven kan worden afgerond.
  zaterdag 10 mei 2014 @ 22:17:24 #198
249182 Holy_Goat
mhèèhèhè
pi_139795820
quote:
0s.gif Op zaterdag 10 mei 2014 18:03 schreef snabbi het volgende:
returnsdecimals = Round(value - Round(value), 2)
Mooie oplossing maar gaat inderdaad niet altijd op.
?Round(213.82 - Round(213.82), 2)
-0,18

1
2
3
4
5
6
Sub aa()
 Dim a As Double
 a = Round(213.82 - Round(213.82), 2)
 If a < 0 Then a = a + 1
 Debug.Print a  >> geeft 0.82
End Sub

dit werkt wel weer.

Maarem, waarom gaat het dan fout in mijn eerdere voorbeeld?
pi_139819700
quote:
0s.gif Op zaterdag 10 mei 2014 19:10 schreef Speculant. het volgende:
je vergeet dat er ook naar boven kan worden afgerond.
returnsdecimals = Round(value - Application.WorksheetFunction.Floor(value, 1), 2)

quote:
0s.gif Op zaterdag 10 mei 2014 22:17 schreef Holy_Goat het volgende:
Maarem, waarom gaat het dan fout in mijn eerdere voorbeeld?
Voor ons is het net alsof je 3100,03 - 3100 doet. Dit is 0,03
Voor de computer is het echter 3100,02999999988358 - 3100
Dit komt doordat de computer dus de dichtsbijzijnde floating point weergave zoekt die 3100,03 benaderd. 3100 hoeft hij niet te benaderen, want alleen decimalen en getallen groter dan 15 cijfers moeten worden benaderd.

Nu weet de computer wel dat hij 3100,02999999988358 moet weergeven als 3100,03, maar dat is niet zo voor 0,02999999988358. 0,03 heeft namelijk een andere floating point representatie, deze is bijvoorbeeld 0,030000001344.
PS ik ben te lui geweest om de echte getallen er bij te zoeken

Door het rekenen met de andere getallen die niet als floating point hoeven weergegeven te worden, verliest de computer de type weergave uit het oog.

[ Bericht 2% gewijzigd door snabbi op 11-05-2014 10:21:36 ]
  zondag 11 mei 2014 @ 10:55:40 #200
249182 Holy_Goat
mhèèhèhè
pi_139820250
quote:
0s.gif Op zondag 11 mei 2014 10:16 schreef snabbi het volgende:

[..]

returnsdecimals = Round(value - Application.WorksheetFunction.Floor(value, 1), 2)

[..]

Voor ons is het net alsof je 3100,03 - 3100 doet. Dit is 0,03
Voor de computer is het echter 3100,02999999988358 - 3100
Dit komt doordat de computer dus de dichtsbijzijnde floating point weergave zoekt die 3100,03 benaderd. 3100 hoeft hij niet te benaderen, want alleen decimalen en getallen groter dan 15 cijfers moeten worden benaderd.

Nu weet de computer wel dat hij 3100,02999999988358 moet weergeven als 3100,03, maar dat is niet zo voor 0,02999999988358. 0,03 heeft namelijk een andere floating point representatie, deze is bijvoorbeeld 0,030000001344.
PS ik ben te lui geweest om de echte getallen er bij te zoeken

Door het rekenen met de andere getallen die niet als floating point hoeven weergegeven te worden, verliest de computer de type weergave uit het oog.
Dankjewel voor je uitleg :)
pi_139828308
Excel for Mac 2011

Probleempje met tabel in Excel en Word:

Op de x-as moeten de cijfers lopen van (periode) 0-6 in plaats van 1-7. Hoe krijg ik dit voor elkaar? Heb al rechtermuisknop > axis options en zo geprobeerd, maar ik kan het niet wijzigen ;(

pi_139828880
Gewoon de kolommen (of rijen) een naam geven (0-6).
Aldus.
  maandag 12 mei 2014 @ 17:48:46 #203
48487 Martijn85
XBL: NL NoName
pi_139873156
Ik wil in excel automatisch een range sorteren als er in een andere sheet iets aangepast wordt.
Nu lukt dit wel voor de eerste range, maar bij de 2e lukt het niet. Kan iemand mij helpen?
Het gaat om het gedeelte onder de streep.

Alvast bedankt!

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
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not (Application.Intersect(Worksheets(4).Range("D4:F86"), Target) Is Nothing) Then
        DoSort
    End If
End Sub

Private Sub DoSort()
    Worksheets(1).Range("A2:I6").Sort Key1:=Worksheets(1).Range("J2"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I2"), Order2:=xlDescending, Header:=xlYes
    Worksheets(1).Range("A10:I14").Sort Key1:=Worksheets(1).Range("J10"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I10"), Order2:=xlDescending, Header:=xlYes
    Worksheets(1).Range("A18:I22").Sort Key1:=Worksheets(1).Range("J18"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I18"), Order2:=xlDescending, Header:=xlYes
    Worksheets(1).Range("A26:I30").Sort Key1:=Worksheets(1).Range("J26"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I26"), Order2:=xlDescending, Header:=xlYes
    Worksheets(1).Range("A34:I38").Sort Key1:=Worksheets(1).Range("J34"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I34"), Order2:=xlDescending, Header:=xlYes
    Worksheets(1).Range("A42:I46").Sort Key1:=Worksheets(1).Range("J42"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I42"), Order2:=xlDescending, Header:=xlYes
    Worksheets(1).Range("A50:I54").Sort Key1:=Worksheets(1).Range("J50"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I50"), Order2:=xlDescending, Header:=xlYes
    Worksheets(1).Range("A58:I62").Sort Key1:=Worksheets(1).Range("J58"), Order1:=xlDescending, _
        Key2:=Worksheets(1).Range("I58"), Order2:=xlDescending, Header:=xlYes
End Sub
-------------------------------------------------------------------------------------------------------------------------------------------
Private Sub Worksheet_Change2(ByVal Target As Range)
    If Not (Application.Intersect(Worksheets(4).Range("J4:L86"), Target) Is Nothing) Then
        DoSort2
    End If
End Sub

Private Sub DoSort2()
    Worksheets(5).Range("A2:I6").Sort Key1:=Worksheets(5).Range("J2"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I2"), Order2:=xlDescending, Header:=xlYes
    Worksheets(5).Range("A10:I14").Sort Key1:=Worksheets(5).Range("J10"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I10"), Order2:=xlDescending, Header:=xlYes
    Worksheets(5).Range("A18:I22").Sort Key1:=Worksheets(5).Range("J18"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I18"), Order2:=xlDescending, Header:=xlYes
    Worksheets(5).Range("A26:I30").Sort Key1:=Worksheets(5).Range("J26"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I26"), Order2:=xlDescending, Header:=xlYes
    Worksheets(5).Range("A34:I38").Sort Key1:=Worksheets(5).Range("J34"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I34"), Order2:=xlDescending, Header:=xlYes
    Worksheets(5).Range("A42:I46").Sort Key1:=Worksheets(5).Range("J42"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I42"), Order2:=xlDescending, Header:=xlYes
    Worksheets(5).Range("A50:I54").Sort Key1:=Worksheets(5).Range("J50"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I50"), Order2:=xlDescending, Header:=xlYes
    Worksheets(5).Range("A58:I62").Sort Key1:=Worksheets(5).Range("J58"), Order1:=xlDescending, _
        Key2:=Worksheets(5).Range("I58"), Order2:=xlDescending, Header:=xlYes
End Sub

Samenvatting:

In sheet 4 wordt in range D:F iets aangepast, in sheet 1 worden ranges gesorteerd
In sheet 4 wordt in range J:L iets aangepast, in sheet 5 worden de ranges niet gesorteerd
Rozen verwelken, schepen vergaan. Daar heb je Bassie.......En Adriaan!!!!
pi_139873994
Volgens mij is Worksheet_Change2 geen geldige event handler...

Je kan alles in dezelfde sub plaatsen..

1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not (Application.Intersect(Worksheets(4).Range("D4:F86"), Target) Is Nothing) Then
        DoSort
    End If

    If Not (Application.Intersect(Worksheets(4).Range("J4:L86"), Target) Is Nothing) Then
        DoSort2
    End If    
End Sub
pi_139874026
Voortaan gewoon een MsgBox("Punt A/B/C/D/E/F") statement (eventueel gevolgd door Exit Sub) plaatsen, dan weet je of je code een bepaalde regel bereikt...
  donderdag 15 mei 2014 @ 19:53:40 #206
406087 Heeinz
Ik schrik hiervan
pi_139994793
Kan iemand mij misschien helpen? Ik gebruik Excel 2007 in het Nederlands

Ik heb deze formule:
1=((100/(SOM(C93;C97;C106;C110;C119;C123;C132;C136;C143;C147;C156;C160)))*((ALS(C94="herhaalklacht";C93;0))+(ALS(C98="herhaalklacht";C97;0))+(ALS(C107="herhaalklacht";C106;0))+(ALS(C111="herhaalklacht";C110;0))+(ALS(C120="herhaalklacht";C119;0))+(ALS(C124="herhaalklacht";C123;0))+(ALS(C133 = "herhaalklacht";C132;0))+(ALS(C137 = "herhaalklacht";C136;0))+(ALS(C144 = "herhaalklacht";C143;0))+(ALS(C148 = "herhaalklacht";C147;0))+(ALS(C157 = "herhaalklacht";C156;0))+(ALS(C161 = "herhaalklacht";C160;0)))/100)

Nou wil ik alle cellen, als ik dat zo goed benoem, verhogen met 87. Dus dat hij zo wordt:
1=((100/(SOM(C180;C184;C193;C197;C206;C210;C219;C223;C230;C234;C243;C247)))*((ALS(C181="herhaalklacht";C180;0))+(ALS(C185="herhaalklacht";C184;0))+(ALS(C194="herhaalklacht";C193;0))+(ALS(C198="herhaalklacht";C197;0))+(ALS(C207="herhaalklacht";C206;0))+(ALS(C211="herhaalklacht";C210;0))+(ALS(C220 = "herhaalklacht";C219;0))+(ALS(C224 = "herhaalklacht";C223;0))+(ALS(C231 = "herhaalklacht";C230;0))+(ALS(C235 = "herhaalklacht";C234;0))+(ALS(C244 = "herhaalklacht";C243;0))+(ALS(C248 = "herhaalklacht";C247;0)))/100)
Alleen dan 52 keer. Als ik deze twee onder elkaar zet en dan 'doortrek' naar beneden, maakt Excel er een rare formule van, in ieder geval wordt alles niet verhoogd met 87. Kan iemand mij vertellen hoe ik dit wél voor elkaar kan krijgen?
  donderdag 15 mei 2014 @ 20:00:55 #207
346939 Janneke141
Green, green grass of home
pi_139995174
Dat kan wel, maar voor zover ik het kan overzien word je daar niet vrolijk van. Ik word sowieso al niet vrolijk van je formules, maar als je ze ook nog gaat decoreren met INDIRECT-lussen om je sprongen van 87 te maken is het helemaal niet meer te volgen.

Als ik een beetje mag gokken wat je aan het doen bent, wil je het aantal nieuwe klachten per kalenderweek tellen (of er een percentage van maken, weet ik veel). Kun je dit niet oplossen met SOM.ALS of iets in die streek?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Opinion is the medium between knowledge and ignorance (Plato)
  donderdag 15 mei 2014 @ 20:24:19 #208
406087 Heeinz
Ik schrik hiervan
pi_139996371
quote:
0s.gif Op donderdag 15 mei 2014 20:00 schreef Janneke141 het volgende:
Dat kan wel, maar voor zover ik het kan overzien word je daar niet vrolijk van. Ik word sowieso al niet vrolijk van je formules, maar als je ze ook nog gaat decoreren met INDIRECT-lussen om je sprongen van 87 te maken is het helemaal niet meer te volgen.

Als ik een beetje mag gokken wat je aan het doen bent, wil je het aantal nieuwe klachten per kalenderweek tellen (of er een percentage van maken, weet ik veel). Kun je dit niet oplossen met SOM.ALS of iets in die streek?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Ja ik ben niet superhandig met Excel, niet vaak gebruikt tot een tijdje terug :') Het gaat om niet gefactureerde uren met vier mogelijke redenen, waarbij ik een percentage uitreken. Bijvoorbeeld twee uur niet gefactureerd door service en drie uur niet gefactureerd door garantie, dan rekent hij met die formule uit 60% niet gefactureerd door garantie en 40% door service. Klinkt misschien wat ingewikkeld en ik was dan ook al bijzonder trots op mezelf dat ik het werkend heb gekregen :')

Wat houdt dat SOM.ALS precies in?
pi_140000444
quote:
0s.gif Op donderdag 15 mei 2014 20:24 schreef Heeinz het volgende:
Wat houdt dat SOM.ALS precies in?
Je zorgt dat je indeling bijvoorbeeld als volgt is:

c181= "herhaalklacht" d181=waarde
c185= "herhaalklacht" d185=waarde

etc.

Dan doe je som.als( c181:c248; "herhaalwaarde"; d181:d185). Per rij wordt gekeken of de waarde in c_x voldoet aan "herhaalwaarde"->indien dat zo is neemt hij de waarde uit d_x apart. Je krijgt als resultaat de som van alle waarden die apart zijn genomen.

Precies wat jij doet, alleen wat simpeler.
  donderdag 15 mei 2014 @ 22:11:48 #210
406087 Heeinz
Ik schrik hiervan
pi_140001215
quote:
0s.gif Op donderdag 15 mei 2014 21:56 schreef Speculant. het volgende:

[..]

Je zorgt dat je indeling bijvoorbeeld als volgt is:

c181= "herhaalklacht" d181=waarde
c185= "herhaalklacht" d185=waarde

etc.

Dan doe je som.als( c181:c248; "herhaalwaarde"; d181:d185). Per rij wordt gekeken of de waarde in c_x voldoet aan "herhaalwaarde"->indien dat zo is neemt hij de waarde uit d_x apart. Je krijgt als resultaat de som van alle waarden die apart zijn genomen.

Precies wat jij doet, alleen wat simpeler.
Nou ik weet niet of dat kan, want het zit zo:
Ik moet dus alleen die niet gefactureerde uren tellen, niet de gefactureerde of de aangenomen. Of is het misschien handiger als ik dat bestand even ergens upload?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')