• 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.

macro maken, hulp nodig

  • Onderwerp starter Onderwerp starter BGS
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

BGS

Nieuwe gebruiker
Lid geworden
12 aug 2005
Berichten
3
mijn werkblad ziet er gedeeltelijk als volgt uit;

M __ N ______ O ____ P
1 __ blabla ___ 1 ___ blabla
2 __ rara ____ 2 ____ rara
3 ________________ zozo
4 __ zozo ____ 4 ___ foei
5 __ foei _____ 5 ___ forum
6 __ forum ___ 6 ___ bzzzzz
7
8
9 __ bzzzzz __ 9
etc.

P-Kolom Formule =
=ALS(ISFOUT(KLEINSTE(M:M;O2));"";VERT.ZOEKEN(KLEINSTE(M:M;O2);M:N;2))

Als ik deze formule op 1000 regels in de P-Kolom kopieer en op F9 druk, kan Excel het nog net aan.
Maar ik heb meer nodig; van P2 t/m P65536, dus het maximale aantal Rijen wat op mijn pc mogelijk is.
Als ik Excel de hele Rij laat uitrekenen met deze Formule, loopt het programma vast.

Zat zelf dus te denken aan een macro die de P-Kolom voor z'n rekening neemt.
Na veel gegoogle zonder resultaat, mijn vraag hier neer gelegd;
Kan iemand mij aub een heel eind opweg helpen in deze?

Een Macro die de P-Kolom met bovenstaande Formule afwerkt.
20000 Rijen zou ook mogen, maar dan moeten er meerdere Bladen komen, dus;
Macro-variatie 1; De Macro moet meerdere Bladen bewerken met de zelfde Formule.

Of is er misschien een andere/betere oplossing om de lege regels in Kolom N eruit te zeven?

Ter verduidelijking: De meeste Kolommen bevatten Formules en geen tekst.
Kolom N;
=ALS(H2="";"";ALS(H3="";LINKS(B2&C2;8)&"?";B2&C2)&D2&ALS(H3="";LINKS(H2;3)&"?";H2)&I2&J2&K2&L2)
Kolom O;
=ALS(N2="";"";A2)

wie kan en wil mij helpen??
bijvoorbaat dank voor uw allen hulp,

Richard
 
Of is er misschien een andere/betere oplossing om de lege regels in Kolom N eruit te zeven?

Is dat wat je wilt bereiken?
Als de cel in kolom N leeg is dan bijvoorbeeld de regel verwijderen of iets in die cel plaatsen?
 
Geplaatst door jheesterbeek
Als de cel in kolom N leeg is ...

Nee, de hele kolom N is gevuld met de formule die in mijn verhaal staat.
Als die formule het resultaat "" oplevert, is de cel dus leeg.
In kolom P wil ik alles op een rijtje hebben zonder die lege cellen.
De formule voor P werkt als een bus. Alleen als er teveel rijen in kolom P gevuld worden met deze formule en F9 word geactiveerd, loopt Excel vast.

Daarvoor ben ik opzoek naar een oplossing....
bedankt voor je reaktie...

groet Richard
 
Geduld is een schone zaak

Dit is een aardige stress test voor je processor. :D

Eerst Windows taak beheer geopende daarna heb ik even een test bestand gemaakt met 65536 regels gevuld met data en de formule.

CPU gaat direct naar 100% en bleef daar 34 minuten lang op staan! :8-0:

Maar daarna was Excel klaar en reageerde weer gewoon. :cool:
In Taak beheer stond overigens dat Excel niet meer zou reageren, maar dat zegt bij zo'n zware berekening dus niks.

Geduld is dus het antwoord op je vraag.

N.b. ik heb een 2,6 Ghz machine met 1Gb geheugen.
Heb je minder zal het zeker nog langer duren.
 
Laatst bewerkt:
Inderdaad , hier ben ik inmiddels ook achter.
Toen ik dit draadje plaatste had ik Excel en ook nog een downloadprogramma aan het draaien.... dus leek het alsof Excel vast zat.

Ben er nog wel van overtuigd dat het via een macro kan en minder stressvol voor de processor, dus sneller.
Een paar jaar geleden heb ik er iets overgelezen, kan dit echter niet meer terugvinden.

IIG bedankt voor het meedenken en kijken.
Hoop dat er iemand is die me verder kan helpen met de macro

mvg Richard
 
Hoi Richard,

Uw formule lijkt me nogal raar. De kleinste waarde van M:M én O2. En vervolgens zoek je de kleinste waarde enkel in M:M. En wat als die kleinste waarde toevallig in 0 2 staat? En tenslotte ga je de corresponderende waarde volledig uitsmeren over de P kolom?

Maar goed... ik weet natuurlijk ook niet wat je wil bereiken.

Ik heb even een test genomen:
De volledige M kolom gevuld met getallen (geen formules... want daar kruipt natuurlijk ook berekeningstijd in)
De volledige N kolom gevuld... maar niet met formules.

Volgende macro zet de corresponderende waarde uit de N kolom volledig in de P kolom. Tijd: hmmm.... mag ik over milliseconden spreken?

Sub test()
Range("P:P").Value = _
Range("M:M").Find(Application.WorksheetFunction.Min _
(Range("M:M"))).Offset(0, 1).Value
End Sub

Luc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan