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

overloop ??

Status
Niet open voor verdere reacties.

sylvester-ponte

Verenigingslid
Lid geworden
19 apr 2007
Berichten
6.551
bij mij geeft dit :
Code:
Sub test()
    A = 24 * 60 * 60
End Sub
overloop .
en bij jullie?
 

Bijlagen

  • overloop.xlsm
    13 KB · Weergaven: 30
Maak er van:

Code:
A = "=24 * 60 * 60"
Waarbij A wel ergens naar moet verwijzen, b.v.

Code:
Sheets("Blad1").[A1] = "=24 * 60 * 60"
In dit geval is het cel A1 op blad1
 
Zorg ervoor dat VBA automatisch een ander datatype dan Integer gebruikt voor een dergelijke berekening.
Probeer dit eens:
Code:
Sub test()
    A = 24# * 60 * 60
End Sub

Of:
Code:
Sub test()
    A = CLng(24) * 60 * 60
End Sub
 
Laatst bewerkt:
dank voor jullie oplossingen :thumb:
ik ben blij dat het niet aan mijn instellingen licht.
 
Stukje uitleg bij mijn oplossing.

VBA doet over het algemeen bij berekeningen intern een impliciete conversie naar een juist datatype.
In het geval van je voorbeeld heeft 'ie even een zetje nodig.

De maximale waarde voor een Integer is 32767.
Jouw berekening levert een veel groter getal op, nl. 86400
Door de expliciete conversie met CLng wordt er een Long van gemaakt en gaat dat wel goed.
 
Laatst bewerkt:
Dat komt dus door de foute impliciete berekening.
A is daar je uiteindelijke doel, maar het gaat daarvoor al mis.
 
Laatst bewerkt:
Bij Excel 2019 gaat het ook fout.
Met het #je achter 24 geeft het geen fout
 
evalueren.
Code:
a = [COLOR=#ff0000][[/COLOR]24 * 60 * 60[COLOR=#ff0000]][/COLOR]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan