• 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 continu laten lopen

Status
Niet open voor verdere reacties.

Leondemooij

Gebruiker
Lid geworden
7 sep 2017
Berichten
86
Ik heb een excel die in contact staat met een dde server.
Nu moet er als er een getal veranderd door de dde server een macro uitgevoerd worden.
Met de normale functie werkt dit niet omdat je dan met de cursor langs de cel moet. [met de dde server heeft excel het in een of andere manier niet door dat er iets verandert is.]
Hoe kan ik een macro in een soort loop laten lopen of time based elke halve seconden ?
Bekijk bijlage test griffioen.xlsmBekijk bijlage test griffioen.xlsm
 
Is er geen commando om hem in een loop te laten draaien .
Dus aan het eind van de macro GOTO TEST of zoiets ?
Ik ben meer gewend aan C programmeren en niet echt bekent met Excel .
 
Ik begrijp je opmerking niet.
Je kan gewoon een WHILE, FOR of een DO loop gebruiken.
 
Dat snap ik , maar kan je aan het eind van de macro niet gewoon zeggen dat hij weer bovenaan moet starten ?
Dus dat dan de macro continu gedraaid wordt zonder onderbreking ?
 
Het gaat maar om 1 cel die ik met een macro wegstuur via een dde server dus ik wil er niet echt een heel script voor schrijven.
Iemand een voorbeeld hoe ik een macro bijv. elke 0.5 sec aanroep ?
Lijkt mij tot dusver de beste oplossing.
 
Dat heb ik in #2 al lang laten zien. Start de macro vanuit de Workbook_Open en plaats een loop in de macro met daarin een wachttijd.
 
Dus als ik dit Application.OnTime Now + TimeValue("00:00:01"), "test" in een werkblad zet roept hij de macro elke sec aan ?
 
Dat kan ook.
 
Dus zo moet het werken ?
 

Bijlagen

  • test excel met macro elke sec..xlsm
    15,5 KB · Weergaven: 46
Mijn dank is groot, ik moet nog een hoop leren zie ik.
Het is allemaal net iets anders dan dat ik gewend ben.
 
Iedere taal is weer anders :)
 
Werkt jammer genoeg niet.
Ik krijg een foutmelding.

Het argument is niet optioneel

Wie nog tips ?
 
Dat heeft niks met de timer te maken maar doe je zelf niet goed.
Je sub is dit:
Sub test(test)

Je vraagt dus zelf om een argument dat je nu niet meegeeft.
Geef een argument mee of laat dat test tussen de haakjes weg of maak er een optionele parameter van.
 
Laatst bewerkt:
Weggehaald en het werkt... top.
Korter als een seconde komt denk niet goed of kan dat ook ?
00:00:005 ?
 
Nee, dat gaat niet.
Dan zal je met Sleep moeten werken uit de kernel32.dll
Die begint bij 1 milliseconde.
 
Als dat echt te lang is wil ik wel een voorbeeldje voor je maken met die Sleep functie.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan