Excel & VBA Roundup-funktion

click fraud protection
Jobbar på sin bärbara dator på ett café

Bildkredit: mavoimages/iStock/Getty Images

Att lära sig hur man använder Excels "Roundup"-funktion från dess inbyggda programmeringsspråk VBA, eller Visual Basic for Applications, hjälper dig att köra valfri Excel-funktion från VBA. Denna färdighet är användbar eftersom Excel har många funktioner som VBA inte har och som du kan behöva ansöka från ett VBA-program. Observera att VBA-funktionen som låter dig utnyttja funktionen "Roundup" inte varnar dig för en felaktig syntax eller argument, som den skulle göra när du använder standardgränssnittet för kalkylblad.

Syfte

Excel-funktionen "Roundup" avrundar ett tal uppåt till det antal siffror du anger. Om du till exempel kör "Roundup (2.2, 0)" berättar Excel att du vill att den ska runda av talet 2.2 upp till nästa heltal. "0" i det andra argumentet talar om för Excel att du inte vill ha några siffror efter decimalkomma, vilket motsvarar att säga att du vill ha ett heltalssvar.

Dagens video

VBA Round-funktion

VBA har ingen "Roundup"-funktion inbyggd. Den närmaste funktionen den har är funktionen "Runda", som avrundar uppåt eller nedåt beroende på om slutsiffran i talet du avrundar är större än eller mindre än 5. Om du till exempel skriver "Round (2.2, 0)" i VBA "Omedelbar"-fönstret resulterar i en 2:a istället för de 3 som Excel-funktionen "Roundup" skulle avrunda upp till.

"Formel" egendom

Även om VBA inte har en egen "Roundup"-funktion, kan den använda Excels "Roundup"-funktion. För att instruera VBA att göra detta, ställ in egenskapen "Formula" för det virtuella objektet "Range" till funktionen "Roundup". Följande exempel visar hur du gör detta. Öppna VBA-utvecklingsmiljön genom att trycka på "Alt" och "F11" samtidigt från Excel. Klicka med musen i fönstret "Omedelbar" och skriv sedan följande påstående: "Omfång ("A1"). Formel = "=Roundup (2.2, 0)"." Gå tillbaka till Excel med "Alt-F11"-tangenten som precis beskrivits. Du kommer att se resultatet "3" i cell A1, vilket indikerar att ditt uttalande har använt Excels "Roundup"-funktion.

Interaktivt exempel

Du kan skapa ett interaktivt VBA-program som accepterar argumenten för "Roundup"-funktionen från en användare och visar resultatet av den funktionen. Efter att ha öppnat VBA-utvecklingsmiljön, klistra in följande program i fönstret:

Public Sub roundUpANumber() Dim a1, a2, s a1 = CDbl (InputBox("Ange talet du vill avrunda")) a2 = CInt (InputBox("Ange antalet decimaler till vilket du vill avrunda talet du precis angav.")) s = "=Roundup(" & a1 & "," & a2 & ")" Range("A1").Formel = s Range("A1") .Beräkna MsgBox (Range("A1").Value) Slut Sub

Kör programmet genom att klicka på ett av dess uttalanden och sedan klicka på "Kör"-menyns "Kör"-kommando. När Excel uppmanar dig att ange funktionens argument, skriv dem och tryck på "Retur". Ditt program kommer att visa resultatet av funktionen "Roundup" för de argument du angav.