16. september 2008 - 22:13Der er
3 kommentarer og 1 løsning
Excel 2007 VBA kode regner forker med Div operatoren
I en projektstyring har jeg en arbejdsopgave på 112 timer. Hver arbejdsdag er 7,40 timer. Med Div division (\)forventede jeg at få resultatet 15 hele arbejdsdage og resterende timer 1 ved Mod division (15 dage a' 7,40 timer = 111 timer + 1 time). Men... Div division giver 16 og Mod division får jeg ikke til at vise decimaltal. Ved nogle variabler (hours = 8, 20) bliver regnestykket med nedenstående kode rigtig.
Dim hours, days As Integer Const arbt = 7.4 days = hours \ arbt hours = hours - days * arbt (istedet for Mod-division). Er der en af jer, der gennemskuer hvad jeg ikke forstår? Hilsen Henry
Hej Sjap Når jeg ser i VBA hjælp, finder jeg følgende, som jeg ikke synes jeg kan bruge: MyNumber = Int(99.8) ' Returns 99. MyNumber = Int(-99.8) ' Returns -100. MyNumber = Int(-99.2) ' Returns -100. Jeg har i stedet valgt at lade makro indsætte følgende formel i en tom celle: "=FLOOR(RC[-1],1)" (runder altid ned til nærmeste heltal). Celleværdi læser jeg ind i en variabel til senere brug og makro sletter celleindhold. Det virker fint, men er lidt mere kringlet end jeg troede nødvendig. Jeg lukke spørgsmålet om lidt, men tak for dit respons. Hilsen Henry
Int runder også altid ned til nærmeste heltal - ved positive tal. Så medmindre du også skal gennemføre beregningen for negative tal, så er mit forslag da brugbart.
Så vidt jeg lige husker, så kan Floor ikke anvendes, hvis kun det ene tal er negativt - men jeg kan huske forkert.
Når du så vælger at bruge regnearksfunktionen i stedet for VBA, så ville det være enklere at bruge Int (som jeg også mener er navnet på regnearksfunktionen - den hedder Heltal på dansk) - i hvert tilfælde når du alligevel vil afrunde til heltal.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.