VBA Round
La funzione di arrotondamento VBA arrotonda i numeri a un numero di cifre specificato.
Sintassi della funzione Round VBA
La sintassi della funzione VBA Round è:
Round(Expression, [Decimal_places]) dove:
- Espressione - Il numero da arrotondare.
- Decimali (Opzionale) - Un numero intero che specifica il numero di posizioni decimali da arrotondare. Il valore deve essere maggiore o uguale a 0 (>=0). Se vuoto, viene utilizzato il valore predefinito 0, il che significa che la funzione viene arrotondata all'intero più vicino.
Quindi, diamo un'occhiata a un esempio in modo che tu possa vedere come funziona la funzione VBA Round, arrotondando a 1 cifra decimale:
12345 | Sottoturno1()Msgbox Round (7.25, 1)Fine sottotitolo |
Il MessageBox risultante:
VBA Arrotonda una variabile
Nell'esempio sopra, abbiamo inserito il numero da arrotondare direttamente nella funzione, ma di solito arrotonderesti invece una variabile. Di seguito è riportato un esempio che utilizza invece una variabile:
Nota: usiamo il tipo di variabile Double per memorizzare i valori decimali.
123456789 | Sub RoundUsingVariable()Dim conteggio unità come doppionumero di unità = 7,25MsgBox "Il valore è " & Round(unitcount, 1)Fine sottotitolo |
Il risultato è:
Risultati dell'arrotondamento VBA
Numero effettivo | Numero di decimali | Risultato |
---|---|---|
7.25 | 0 | 7 |
7.25 | 1 | 7.2 |
7.25 | 2 | 7.25 |
-7.25 | 1 | -7.2 |
-7.25 | 2 | -7.25 |
Stanco di cercare esempi di codice VBA? Prova AutoMacro!
Valore cella rotonda VBA
Puoi anche arrotondare il valore di una cella direttamente in VBA:
123 | Sub RoundCell()Intervallo("A1").Valore = Arrotonda(Intervallo("A1").Valore, 2)Fine sottotitolo |
Funzione VBA RoundUp
Supponiamo che tu voglia arrotondare un numero, usando VBA. Non esiste una funzione equivalente VBA RoundUp integrata, invece quello che puoi fare è chiamare la funzione Excel RoundUp Worksheet dal tuo codice VBA:
1 | roundupUnitcount = Application.WorksheetFunction.RoundUp(unitcount, 3) |
Le funzioni del foglio di lavoro di Excel sono disponibili per l'uso in VBA, attraverso l'uso del Foglio di lavoroFunzione oggetto. Le uniche funzioni del foglio di lavoro che non puoi chiamare sono quelle che hanno già un equivalente VBA integrato.
Un promemoria della sintassi della funzione RoundUp del foglio di lavoro Excel:
ROUNDUP(Numero, Cifre) dove:
- Numero - Il numero che desideri arrotondare per eccesso.
- Cifre - Il numero di cifre di cui si desidera arrotondare il numero.
Quindi, diamo un'occhiata a un esempio, in modo che tu possa vedere come accedere alla funzione RoundUp Worksheet nel tuo codice VBA:
12345678910111213 | Arrotondamento secondario()Dim conteggio unità come doppioDim roundupUnitcount As Doublenumero di unità = 7.075711roundupUnitcount = Application.WorksheetFunction.RoundUp(unitcount, 4)MsgBox "Il valore è " & roundupUnitcountFine sottotitolo |
Il risultato è:
Arrotonda al numero intero più vicino
Puoi arrotondare per eccesso al numero intero più vicino specificando 0 come numero di posizioni decimali:
12345 | Sub RoundUpWhole()MsgBox Application.WorksheetFunction.RoundUp(7.1, 0)Fine sottotitolo |
Il risultato consegnato:
Programmazione VBA | Il generatore di codice funziona per te!
Risultati della funzione RoundUp
Numero effettivo | cifre | Risultato |
---|---|---|
7.075711 | 0 | 8 |
7.075711 | 1 | 7.1 |
7.075711 | 2 | 7.08 |
7.075711 | 3 | 7.076 |
7.075711 | -1 | 10 |
7.075711 | -2 | 100 |
7.075711 | -3 | 1000 |
Funzione VBA RoundDown
Supponiamo che tu voglia arrotondare un numero per difetto, usando VBA. Non esiste nemmeno una funzione equivalente VBA RoundDown incorporata, invece, ancora una volta, quello che faresti è chiamare la funzione Excel RoundDown Worksheet dal tuo codice VBA.
Un promemoria della sintassi della funzione RoundDown del foglio di lavoro Excel:
ROUNDDOWN(Numero, Cifre) dove:
• Numero - Il numero che si desidera arrotondare per difetto.
• Cifre - Il numero di cifre di cui si desidera arrotondare il numero.
Quindi, diamo un'occhiata a un esempio, in modo che tu possa vedere come accedere alla funzione RoundDown Worksheet nel tuo codice VBA:
12345678910111213 | Arrotondamento secondario()Dim conteggio unità come doppioDim rounddownUnitcount As Doublenumero di unità = 5,225193rounddownUnitcount = Application.WorksheetFunction.RoundDown(unitcount, 4)MsgBox "Il valore è " & rounddownUnitcountFine sottotitolo |
Il risultato è:
Arrotonda per difetto al numero intero più vicino
Puoi arrotondare per difetto al numero intero più vicino specificando 0 come numero di posizioni decimali:
12345 | Sub RoundDownWhole()MsgBox Application.WorksheetFunction.RoundDown(7.8, 0)Fine sottotitolo |
Il risultato è:
Risultati della funzione RoundDown
Numero effettivo | cifre | Risultato |
---|---|---|
5.225193 | 0 | 5 |
5.225193 | 1 | 5.2 |
5.225193 | 2 | 5.22 |
5.225193 | 3 | 5.225 |
5.225193 | -1 | 0 |
5.225193 | -2 | 0 |
5.225193 | -3 | 0 |
Programmazione VBA | Il generatore di codice funziona per te!
Altre funzioni di arrotondamento VBA
Soffitto VBA - Arrotondamento a un significato specificato
VBA non ha una funzione equivalente a Ceiling.Math, quindi se si desidera arrotondare un numero all'intero più vicino o al multiplo di significato specificato più vicino, è possibile chiamare la funzione del foglio di lavoro Ceiling.Math di Excel dal codice VBA.
Un promemoria della sintassi della funzione Ceiling.Math del foglio di lavoro Excel:
CEILING.MATH(Numero, [Significato], [Modo]) dove:
- Numero - Il numero che desideri arrotondare per eccesso.
- Significato (Opzionale) - Il multiplo a cui vuoi che venga arrotondato il tuo numero.
- Modalità (Opzionale) - Controlla se i numeri negativi vengono arrotondati verso o lontano da zero.
Quindi, diamo un'occhiata a un esempio, in modo che tu possa vedere come accedere alla funzione Ceiling.Math Worksheet nel tuo codice VBA:
12345678910111213 | Sub RoundUpToSignificance()Dim conteggio unità come doppioDim ceilingmathUnitcount As Doublenumero di unità = 4.1221soffittomathUnitcount = Application.WorksheetFunction.Ceiling_Math(unitcount, 5)MsgBox "Il valore è " & ceilingmathUnitcountFine sottotitolo |
Il risultato è:
VBA RoundUp ai risultati di significatività specificati
Numero effettivo | Significato | Modalità | Risultato |
---|---|---|---|
4.1221 | 5 | ||
4.1221 | 3 | 6 | |
4.1221 | 50 | 50 | |
-4.1221 | 3 | -3 | |
-4.1221 | 3 | -1 | -6 |
VBA Floor - Arrotondamento per difetto a un significato specificato
VBA non ha nemmeno un equivalente della funzione Floor.Math. Tuttavia, ancora una volta, se si desidera arrotondare un numero all'intero più vicino o al multiplo di significato specificato più vicino, è possibile chiamare la funzione del foglio di lavoro Floor.Math di Excel da VBA.
Un promemoria della sintassi della funzione Floor.Math del foglio di lavoro Excel:
FLOOR.MATH(Numero, [Significato], [Modo]) dove:
• Numero - Il numero che si desidera arrotondare per difetto.
• Significato (Opzionale) - Il multiplo a cui vuoi che venga arrotondato il tuo numero.
• Modalità (Facoltativo) - Controlla se i numeri negativi vengono arrotondati verso o fuori dallo zero.
Quindi, diamo un'occhiata a un esempio, in modo che tu possa vedere come accedere alla funzione Floor.Math Worksheet nel tuo codice VBA:
1234567891011 | Sub RoundDownToSignificance()Dim conteggio unità come doppioDim floormathUnitcount As Doublenumero di unità = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math(unitcount, 2)MsgBox "Il valore è " & floormathUnitcountFine sottotitolo |
Il risultato è:
Arrotondamento VBA per risultati significativi specificati
Numero effettivo | Significato | Modalità | Risultato |
---|---|---|---|
4.55555559 | 4 | ||
4.55555559 | 3 | 3 | |
4.55555559 | 50 | 0 | |
-4.55555559 | 3 | -6 | |
-4.55555559 | 3 | -1 | -3 |