Jan,
over de snelheid: daar zou ik mij minder druk over maken. Er zijn meer
tijdgebruikers in de macro aanwezig die een grotere invloed hebben dan deze
functie.
Ik vat het nog even samen:
Dit soort data wordt gezocht: [09/09/08 08:46:05] Message: *** robotcore
started (V3.10) *** --> ziet er altijd zo uit, alleen de tijd en datum kan
anders zijn. Aantal tekens blijft hetzelfde.
Er moet gezocht worden naar de laatste uitdrukking in de kolom A:A van wb
'Invoerblad' (zoeken naar '*robotcore started*'.
Gevonden waarde omzetten naar 'V3.10'.
Deze waarde weergeven in wb 'Test uitslag' cel C9.
Het aantal rijen zit rond de 10.000 maximaal.
Zoals de functie nu is:
----------------------------------
=RECHTS(ALS(VERGELIJKEN("*robotcore
started*";Invoerblad!A:A;-1)<>"*robotcore
started*";"Onbekend";INDEX(Invoerblad!A:A;VERGELIJKEN("*robotscore
started*";Invoerblad!A:A;-1)));11)
----------------------------------
Deze functie geeft alleen 'Onbekend' op, terwijl dat niet mogelijk is. Deze
functie is voor mij ook te complex om precies te begrijpen. Ik heb zelf de
uitdrukkingen 'Invoerblad!' toegevoegd, maar ik weet niet eens of ze wel op
de goede plek staan... Dus wellicht klopt de functie niet op deze manier.
De FIND methode als macro vind ik een prima idee, maar... hoe ziet dat er
dan weer uit?
Post by janKoemi,
Even afgezien van het resultaat van de formules (blijkbaar staat er meer in de cel
dan ik op grond van je eerdere berichten meende te mogen concluseren), je hebt
aangegeven dat de formule werkte alleen in combinatie met je macro wat aan de trage
kant.
Om hoeveel rijen gaat het maximaal?
Als dat de 10000 lang niet haalt kun je de de formule sneller laten lopen door
minder rijen te te laten doorzoeken.
Is het misschien zo dat gedurende je macro meeredere keren opnieuw het hele blad
wordt berekend, dat kan de zaak ook vertragen (inderdaad is mijn formule WEL wat
traag; hoewel dat bij nader inzien m.i. wel meevalt...?). Je zou het herberekenen
aan het begin van de macro uit kunnen zetten en aan
het eind van de macro weer terug kunnen zetten op de standaardwaarde.
Vanuit je macro zou je ook met Find iets kunnen regelen. Met Find kun je de laatste
waarde in de kolom vinden die voldoet aan je criteria. Dat moet denk ik de snelste
methode zijn.
Mocht je alsnog de eerder geboemde formules willen gebruiken (ze werken echt), dan
is het belangrijk om te weten of er na (V3.20) nog meer tekst in de betreffende cel
staat.
Jan