Funzioni VBA Round, RoundUp e RoundDown

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

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave