Hét vraag- en antwoordplatform van Nederland

Waarom werkt VBA-script onjuist?

In een do-while- loop kijkt Excel naar de waarde in twee cellen.
Het vreemde is, dat als dit script loopt, hij de waarde niet juist evalueert, maar als ik het script stap voor stap doorloop (met F8), dan doet hij het wel juist.
Wat is hier aan de hand en wat kan ik nu het beste doen?

Verwijderde gebruiker
12 jaar geleden
in: Software
Verwijderde gebruiker
12 jaar geleden
Het is bij dit soort vragen handiger om ook een stukje van de code te plaatsen.
Verwijderde gebruiker
12 jaar geleden
Ja, ik denk dat dat zo is. Maar ik heb het euvel gevonden!
Het komt door de instruktie SendKeys "{ESC}"
Ik heb deze weggehaald, en het probleem is verdwenen!
Verwijderde gebruiker
12 jaar geleden
Ah, dat soort dingen kan de boel aardig in de soep doen lopen inderdaad.

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Geef jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image

Antwoorden (1)

Als je met VBA een waarde van een cel uitleest, dan doet hij ook precies alleen dat. Dat proces is geen expliciete trigger die Excel de opdracht geeft om die waarde te berekenen.

De opdracht "Application.Calculate" in de code opnemen voordat je de waardes uitleest geeft Excel wel de opdracht om te gaan rekenen.

Vaak is dat de oplossing voor dergelijke problemen
(Maar er kunnen natuurlijk ook heel andere dingen aan de hand zijn.)
(Lees meer...)
Verwijderde gebruiker
12 jaar geleden
Verwijderde gebruiker
12 jaar geleden
Dat werkt dus alleen, als je de Calculation hebt uitgezet. Je kan zo zelf bepalen wanneer Excel moet herberekenen. Inderdaad was het iets anders. Maar evengoed bedankt.
Deel jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image