• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

somproduct loopt traag

Status
Niet open voor verdere reacties.
jups warme bakkertje,

goeie vraag die je stelt :) in principe zou de invoer correct moeten gebeuren zodat er geen verbeteringen moeten gedaan worden achteraf. bezie het als een soort archief :)

moest op de één of andere manier de mogelijkheid bestaan om wel veranderingen aan te brengen, dan graag :) of een melding dat als de berekening van de functie negatief is, of bv boven de 10u...?

denk je dat je iets zou kunnen bereiken? :)

greets, spiesse
 
Ik heb je bestand met de huidige macro's eens getest op 15000 regels en voor mij is er niets aan de hand. De berekening in kolom L werd binnen de seconde gemaakt. Ik begin eraan te twijfelen of het probleem wel binnen XL ligt :o
 
oesj, das geen goe nieuws :)

nu is het wel zo dat ik straks (normaal gezien) via de IT van mijn werk office 2010 krijg als eerste binnen het bedrijf :)

wat ik eigenlijk tegenkom is dat de processors serieus moeten werken als ik andere tabellen wil bewerken (filteren, sorteren..) in een bepaalde kolom werk ik met somproducten en vert.zoeken, koppelingen...

het huidige bestand is momenteel 16 MB groot, maar ik kan moeilijk geloven dat dit problemen zou geven binnen xl... helaas kan ik op geen enkele manier het originele bestand doorsturen want bevat klantnamen, productie-orders, werknemersnamen, serverlijsten enz... het zou nochthans het meest ideale zijn omdat daar het probleem zit :)

nu, eens ik 2010 heb ga ik es kijken of het bestand niet anders kan opgemaakt worden...

ik hou je niet tegen om andere voorstellen te delen :)

ik hou je alleszins ook op de hoogte!

waar zou volgens jou dan het probleem kunnen liggen? :)
 
Somproduct is een verkapte matrixformule en als je er daar veel van hebt staan dan vraagt dit enorm veel rekenpower. Daar zit hoogstwaarschijnlijk de angel in dit hele verhaal.
Met het gebruik v/d functie Pause is er geen probleem op grote bereiken, want in jouw voorbeeldbestand rekent hij dit binnen de seconde uit (zonder de Somproductformules)
 
is er een alternatief voor somproduct? in een overzichtstabel moet een som komen van volgende overeenkomsten: POnr en alle tijden

som(als...) heb ik al geprobeerd
 
bakker,

ik vermoed dat het toch wel aan de function in module 1 ligt, nl de berekening van de pauze... zou het helpen moest ik de formule in een macro laten uitrekenen?

indien ja, hoe doe ik dit? :)
 
Om te testen
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

'overslaan cellen
If Target.Column = 1 Then Target.Offset(0, 2).Select
If Target.Column = 3 Then Target.Offset(0, 6).Select

'uren omzetten
If Intersect(Target, Range("i2:j20000")) Is Nothing Then GoTo Einde
If IsEmpty(Target) Then GoTo Einde

If Hour(Target.Value) <> 0 Or Minute(Target.Value) <> 0 Then GoTo Einde
Application.EnableEvents = False
If Int(Target.Value / 100) < 0.1 Then
Target = "00:" & Target.Value
Else
Target = Int(Target.Value / 100) & ":" & Right(Target.Value, 2)
End If
Application.EnableEvents = True
hw = (Target - Target.Offset(, -1)) * 24 - Pause(Target.Offset(, -1), Target, Range("O2:P4")) * 24
If Target.Column = 10 Then Target.Offset(0, 2) = IIf(hw > 0, Round(hw, 2), "")
Einde:
'ActiveCell.Calculate

End Sub
 
Hebt ge alle andere functieresultaten omgezet in waarden ? Dan een nieuwe regel geplaatst met de berekening in de macro ? Wat kwam eruit ?
 
explain me how to do :)
hoe moet die regel er dan uitzien in de macro?

merci!
spiesse
 
In post#27 heb ik je toch een macro gegeven met de berekening erin :o
Nu wordt de uitkomst in je werkblad geplaatst zonder de formule.
 
:) lol bakker :)

zover zat ik nog niet met het ontleden van de formule :)

ben nu bezig op het werk om een nieuw bestand aan te maken met een userform die de invoer in de cellen plaatst... daarin zou ik idd de waarden plaatsen (dus de celopmaak instellen waar nodig) en enkel de laatste kolom laten rekenen met de als-formule... moet nu enkel bekijken hoe ik de uurnotatie kan instellen...

de bedoeling is dat ik 1500 typ in de userform, en dat in de tabel 15:00 uur gezien wordt.... in het bestand waar we het nu over hebben wordt dit gedaan door het deel van de macro. moet dus es kijken hoe ik dit kan overnemen... tenzij jij een kortere manier via celeigenschappen weet om 1500 als 15:00 automatisch te zien als tijdsnotatie...

het wordt gewoon verder doen met het trage bestand, en daarnaast werken aan een nieuw bestand...

bedankt alleszins om me mee te helpen denken en zoeken!

spiesse


btw: mss een offside topicje hier: hoe kan je het volgende bereiken:

44 uren verlof zijn 5 dagen en 4 uur...
44,5 uren verlof zijn 5 dagen, 4 uur en 30 minuten...

kan dit met formules over drie kolommen auto berekend worden, of ook via een macro? dit zou een grote hulp zijn voor een ander groot verlofbestand :) geen rendement dit keer :)

greets
spiesse
 
We praten naast mekaar :confused:
Vervang de Worksheet_Change macro uit je bestand door de macro die ik je in Post#27 gegeven heb. Vul je tabel in zoals gewoonlijk en de werkelijk gewerkte uren worden nu via de macro uitgerekend en in de laatste kolom geplaatst. Er wordt dus geen formule meer geplaatst in de laatste kolom, enkel het resultaat v/d berekening die nu achter de schermen gebeurt.

Wat betreft je zijdelingse vraag
Voor de dagen
Code:
=AFRONDEN.BENEDEN(F1;8)/8 & " Dag(en)"
Voor de uren
Code:
=AFRONDEN.BENEDEN(REST(F1;8);1) & " uren"
Voor de minuten
Code:
=AFRONDEN.NAAR.BENEDEN(REST(F1;1)*60;0) & " minuten"
 
Laatst bewerkt:
hey warme bakker,

een nieuwe werkweek dus weer tijd om trial and error tot een goed einde te proberen brengen :) ik hou je continue op de hoogte van de evoluties :)

en alvast bedankt voor de formules! ik ga ze in een bestandje gieten en testen... De functie afronden is eentje dat ik nog nooit gebruikt heb! zal me een grote tijdswinst opleveren!!!

spiesse
 
tot op heden zie ik toch wel een verbetering bakker!

bestaat er een andere formule dan somproduct om een uitkomst te verkrijgen die voldoet aan bepaalde voorwaarden?
 
bakkertje, mss een volgend vraagje: kan ik formules invoegen in mijn macro? zodat het vert.zoeken in de tabel niet moet gedaan worden via een formule? of raad je dit niet aan?

indien wel aanraadbaar, hoe noteer ik deze dan best? activecell.formula= of een andere manier? de R1C1methode snap ik nog niet te goed :)

greets
 
Wat betreft de Vert.zoeken formules die zijn mi niet zo belastend voor je bestand. Je moet nu ook niet alles proberen te vervangen door VBA(daar houden de formulegoeroes op dit forum niet zo echt van :P).
Voor wat betreft de Somprodukt-formule, daar bestaan wel alternatieven voor, maar dit zou ik in een nieuwe vraag eens voorleggen aan de formulegoeroes aangezien dit niet mijn sterkste punt is en anderen je daarbij veel beter kunnen voorthelpen dan ikzelf.
 
:) zelfkennis is toch iets moois e :)

ik heb vanmiddag op het werk es uw macro geprobeerd in een kopiefile van het bestand. heb daar vanuit het originele bestand de waarden gekleefd en verder gegaan met de macro van jou.

ik ondervond wel direct weer wat problemen met de formule somproduct omdat deze elke keer ik een uurregistratie invoer, de formule bijwerkt... vermoedelijk zit dus daar mijn grote lack op het bestand... en van daaruit dan ook mijn vraag of er alternatieven bestaan voor somproduct....

ik open effe een nieuw topic betreffende het somproduct euvel :)

alvast bedankt voor de vlotte hulp en mededenken! ik laat het onderwerp wel nog open voor suggesties ;)

spiesse
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan