Come utilizzare l'operatore Mod in VBA (9 esempi)

  • Condividi Questo
Hugh West

Il VBA Mod non è una funzione mentre MOD è una funzione in un foglio di lavoro di Excel. VBA Mod è un operatore che divide due numeri e restituisce il valore resto L'operatore Mod è una forma abbreviata di MODULO che viene utilizzato nelle operazioni matematiche. Mod operatori arrotondamento il a virgola mobile .

In questo articolo, vi mostrerò vari esempi di utilizzo di Excel. VBA Mod operatore.

Scaricare per esercitarsi

Esempi di VBA Mod Operator.xlsm

Nozioni di base sulla funzione Mod di VBA: riepilogo e sintassi

Sintesi

Il VBA Mod L'operatore divide due numeri e restituisce il valore resto . dove uno è conosciuto come un divisore un altro è un numero . il Mod l'operatore divide l'elemento numero dal divisore .

Sintassi

Numero1 Mod Numero2 (Divisore)

Argomenti

Argomenti Richiesto/facoltativo Spiegazione
Numero1 Richiesto Si tratta di un numerico espressione
Numero2 Richiesto Si tratta di un numerico espressione

Valore di ritorno

Il VBA Mod restituisce un valore resto .

Versione

Il VBA Mod è disponibile per Excel 2000 e successivi.

Sto usando Excel Microsoft 365 per implementare questi esempi.

9 esempi di utilizzo della funzione VBA Mod in Excel

1. Utilizzo di VBA Mod per ottenere il residuo

Se volete, potete ottenere un resto utilizzando l'opzione VBA Mod operatore.

Vi spiego la procedura,

Per iniziare, aprire il file Sviluppatore selezionare Visual Basic .

➤ Ora, una nuova finestra di Microsoft Visual Basic per le applicazioni apparirà.

Successivamente, da Inserire selezionare Modulo

Ora, digitate il seguente codice nel file Modulo .

 Sub Get_Reminder() Dim n As Integer n = 29 Mod 3 MsgBox " 29 Mod 3 è " & n End Sub 

Qui, nel Ottieni_Ricordo nella sottoprocedura, ho dichiarato la variabile n come Intero e lo usiamo per mantenere il valore restituito del metodo Mod operatore.

Poi ha usato il MsgBox per mostrare il resto .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Anche in questo caso, aprire il Sviluppatore da Inserire selezionare Pulsante da Controlli del modulo

Ora, Trascinamento il Pulsante per posizionarlo nel punto in cui si desidera inserire la didascalia.

Successivamente, è possibile assegnare un nome al pulsante.

➤ L'ho chiamato Ottenere un promemoria .

Ora, cliccate con il tasto destro del mouse un menu contestuale di Assegnare Macro apparirà.

Da qui selezionare Assegnazione di macro .

⏩ A finestra di dialogo di Assegnazione di macro apparirà.

Quindi, selezionare la voce Nome della macro e Macro in .

Ho selezionato Ottieni_Ricordo dal Nome della macro e selezionato VBA Mod.xlsm da Macro in .

Infine, fare clic su OK .

Quindi, fare clic sul pulsante denominato Ottieni_Ricordo .

Pertanto, mostrerà un casella msg con il resto .

Potete farlo per tutti i numeri per ottenere il resto .

Per saperne di più: Funzione VBA Format in Excel (8 usi con esempi)

2. Utilizzo del riferimento di cella in VBA Mod per ottenere il resto

Utilizzando Riferimento cella dal foglio Excel, è possibile ottenere il resto da VBA Mod .

Per aprire il VBA seguire la procedura descritta nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub Promemoria_Usando_CellReference() Dim n As Integer n = Range("B4").Value Mod Range("C4").Value MsgBox Range("B4").Value & " Mod " & Range("C4").Value & " is " & n End Sub 

Qui, in Promemoria_Utilizzo_CellReference , ho dichiarato la variabile n come Intero e lo usiamo per mantenere il valore restituito del metodo Mod operatore.

Quindi, utilizzare il riferimento di cella B4 come numero1 e C4 come numero2 (divisore)

Poi ha usato il MsgBox per mostrare il resto .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante seguire la procedura descritta nella sezione 1.

➤ Ho chiamato il pulsante Riferimento cella .

Successivamente, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Pertanto, si otterrà il resto per il riferimento alla cella utilizzata.

Contenuto correlato: Come restituire un valore in una funzione VBA (valori sia di array che non di array)

3. Utilizzo di VBA Mod per ottenere un resto da un numero negativo

Il VBA Mod supporta anche negativo numeri mentre si calcola il resto .

Per aprire il VBA seguire i passaggi illustrati nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub Promemoria_da_numero_negativo() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Qui, in Promemoria_da_numero_negativo, Ho dichiarato la variabile n come Intero e lo usiamo per mantenere il valore restituito del metodo Mod operatore.

Quindi, utilizzare il riferimento di cella B5 come numero1 e C5 come numero2 (divisore)

Poi ha usato il MsgBox per mostrare il resto .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante, seguire i passaggi illustrati nella sezione 1.

➤ Ho chiamato il pulsante Promemoria dal numero negativo .

Successivamente, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Pertanto, si otterrà il resto per il numero negativo .

Per saperne di più: Come utilizzare la funzione IsNumeric di VBA (9 esempi)

4. Utilizzo di VBA Mod per ottenere il resto nella cella

Invece di mostrare il resto attraverso il msg scatola è possibile posizionarlo in una cella utilizzando l'opzione MOD VBA funzione.

Per aprire il VBA seguire la procedura descritta nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub Promemoria_in_Cella() ActiveCell.FormulaR1C1 = "=MOD(RC[-2],RC[-1])" Range("D4").Select End Sub 

Qui, in s ub-procedura Promemoria_in_Cella , ho usato il ActiveCell.FormulaR1C1 per ottenere la posizione di ActiveCell .

Poi, ha usato il MOD per ottenere la funzione resto .

Inoltre, ha utilizzato il Selezionare metodo.

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante e assegnare il VBA seguire la procedura descritta nella sezione 1.

➤ Ho chiamato il pulsante Promemoria in cella .

Successivamente, selezionare la voce D4 cellulare.

Quindi, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Di conseguenza, si otterrà il resto nella cella selezionata.

Seguendo lo stesso procedimento, si otterrà la resto per il resto dei numeri.

Per saperne di più: Come utilizzare la funzione MsgBox in Excel VBA (una guida completa)

5. Utilizzo di VBA Mod con il divisore di un numero intero e il numero a virgola mobile

Nel caso in cui il vostro divisore è un intero ma il vostro numero è in galleggiante è possibile utilizzare il metodo VBA Mod operatore.

Per aprire il VBA seguire la procedura descritta nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub Promemoria_da_numero_decimale() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Qui, nella sezione R sottoprocedura eminder_From_Decimal_Number, Ho dichiarato la variabile n come Intero e lo usiamo per mantenere il valore restituito del metodo Mod operatore.

Quindi, utilizzare il riferimento di cella B5 come numero1 e C5 come numero2 (divisore)

Poi ha usato il MsgBox per mostrare il resto .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante seguire la procedura descritta nella sezione 1.

➤ Ho chiamato il pulsante Promemoria da numero decimale .

Successivamente, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Pertanto, si otterrà il resto per il numero decimale .

Ma c'è un problema che VBA arrotonda il decimale Qui il risultato doveva essere 2.25 ma il VBA Mod arrotondato a 2 .

Ricordate se qualsiasi decimale/variabile è maggiore di 0.5 nel VBA Mod allora sarà arrotondato per eccesso al valore intero successivo.

Se è inferiore a 0.5 nel VBA Mod , allora sarà arrotondato per eccesso al valore intero esistente.

Per saperne di più: Come utilizzare la funzione VBA Int in Excel ( 3 esempi)

Letture simili:

  • Come utilizzare la funzione IsNull in Excel VBA (5 esempi)
  • Utilizzare la funzione Str di VBA in Excel (4 esempi)
  • Come utilizzare la funzione Switch di VBA (6 esempi)
  • Utilizzare la funzione VBA Len in Excel (4 esempi)
  • Come rimuovere i duplicati nel foglio Excel (7 metodi)

6. Utilizzo di VBA Mod quando divisore e numero sono entrambi decimali

Se il vostro divisore e numero entrambi sono in decimale/float è possibile utilizzare anche il metodo VBA Mod operatore.

Per aprire il VBA seguire i passaggi illustrati nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub Decimal_Both_Divisor_Number() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Qui, nel sottoprocedura Numero_decimale_entrambi_divisori, Ho dichiarato la variabile n come Intero e lo usiamo per mantenere il valore restituito del metodo Mod operatore.

Quindi, utilizzare il riferimento di cella B5 come numero1 e C5 come numero2 (divisore)

Poi ha usato il MsgBox per mostrare il resto .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante, seguire i passaggi illustrati nella sezione 1.

➤ Ho chiamato il pulsante Ottenere Promemoria da Quando il divisore & Numero decimale .

Successivamente, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Pertanto, si otterrà il resto per entrambi divisore decimale e numeri .

Ma c'è un problema che VBA arrotonda il decimale Qui il risultato doveva essere 1.75 ma il VBA Mod arrotondato a 2 .

Contenuti correlati: Funzione VBA EXP in Excel (5 esempi)

7. Mod VBA per arrotondare un numero decimale superiore a 0,5

Qui vi mostrerò come il arrotondamento lavora nel VBA Mod .

Per dimostrarvi la decimale problema del punto, per prima cosa calcolerò il resto utilizzando il programma Excel MOD funzione.

In cella D4 , digitare la seguente formula,

=MOD(B6, C6)

Qui ho usato B6 come numero C6 come un divisore .

Quindi, premere ENTRARE per ottenere il resto e si otterrà il resto che sarà 7.7 .

Ora, calcoliamo attraverso VBA Mod , per aprire la finestra VBA seguire la procedura descritta nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub RoundsUp_Number() Dim n As Integer n = Range("B6").Value Mod Range("C6").Value MsgBox Range("B6").Value & " Mod " & Range("C6").Value & " is " & n End Sub 

Qui, nel sottoprocedura Numero_decimale_entrambi_divisori, Ho dichiarato la variabile n come Intero e lo usiamo per mantenere il valore restituito del metodo Mod operatore.

Quindi, utilizzare il riferimento di cella B6 come numero1 e C6 come numero2 (divisore)

Poi ha usato il MsgBox per mostrare il resto .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante seguire la procedura descritta nella sezione 1.

➤ Ho chiamato il pulsante Arrotonda il numero decimale .

Successivamente, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Pertanto, si otterrà il resto per il riferimento alla cella utilizzata.

Osservare attentamente il resto che il VBA Mod restituito. Il MOD per gli stessi valori restituiti 7.7 ma il VBA Mod operatore restituito 0 . come il VBA arrotondare i valori.

Per saperne di più: Come utilizzare la funzione VBA Round in Excel (6 utilizzi rapidi)

8. Determinare il numero pari o dispari

Il VBA Mod determina anche il Anche o Strano da un determinato intervallo.

Per aprire il VBA seguire la procedura illustrata nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub Determine_Even_Or_Odd() Dim n As Integer For n = Range("B4").Value To Range("B8").Value If n Mod 2 = 0 Then MsgBox n & " è un numero pari!" Else MsgBox n & " è un numero dispari!" End If Next n End Sub 

Qui, nel sottoprocedura Determine_Even_Or_Odd, Ho dichiarato la variabile n come Intero .

Poi, ho usato un Per in cui ho mantenuto il valore dichiarato attraverso il riferimento alla cella.

Successivamente, ho utilizzato un SE in cui ho impostato i criteri come n Mod 2 = 0 se il valore è vero, restituisce un oggetto Anche dichiarazione altrimenti Strano .

Poi ha usato il MsgBox per mostrare il dichiarazioni .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante seguire la procedura descritta nella sezione 1.

➤ Ho chiamato il pulsante Pari o dispari .

Successivamente, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Pertanto, sarà possibile sapere quale valore è Anche e quale è Strano .

Qui, 1 è il Strano numero.

Qui, 2 è il Anche numero.

Per saperne di più: Dichiarazione VBA If - Then - Else in Excel (4 esempi)

9. Utilizzo dell'intervallo di celle in VBA Mod per ottenere il residuo

È inoltre possibile utilizzare il comando gamma di celle per ottenere il resto utilizzando l'opzione VBA Mod .

Per aprire il VBA seguire i passaggi illustrati nella sezione 1.

Quindi, digitate il seguente codice nel campo Modulo .

 Sub Get_Reminder_UsingVBA() Dim n As Integer For n = 4 To 9 MsgBox Cells(n, 2).Value Mod Cells(n, 3) Next n End Sub 

Qui, nel Sottoprocedura Get_Reminder_UsingVBA, Ho dichiarato la variabile n come Intero .

Poi, ho usato un Per in cui ho mantenuto il valore dichiarato attraverso il riferimento alla cella. Il ciclo funzionerà per i valori dalle righe 4 a 9 .

Poi ha usato il MsgBox per mostrare il resto .

Ora, Risparmiare il codice e tornare al foglio di lavoro.

Per inserire il Pulsante seguire la procedura descritta nella sezione 1.

➤ Ho chiamato il pulsante Riferimento dinamico della cella .

Successivamente, fare clic sul pulsante Pulsante per eseguire il VBA codice.

Pertanto, si otterrà il resto per tutti i valori utilizzati, uno per uno.

Il primo è per il numero 29 dove il divisore è 3 .

Il secondo è per il numero -47 dove il divisore è 5 .

Il ciclo funziona finché non raggiunge la riga 9 Il quinto è per il numero 59 dove il divisore è 6 .

Contenuti correlati: Come utilizzare la funzione VBA Randomize in Excel (5 esempi)

Differenza tra Excel MOD e VBA Mod

Anche se per la maggior parte dei casi i valori di ritorno sono gli stessi per il metodo MOD e la funzione VBA Mod Tuttavia, in alcuni casi i risultati differiscono tra loro. Vi illustro la differenza tra i due.

MOD Funzione VBA Mod Operatore
Il MOD restituisce entrambe le funzioni Intero e Decimale numeri. Mod restituisce solo Intero numeri.
Mentre si utilizza un negativo numero in MOD non restituisce un segno negativo . Supporta negativo e poi restituisce i numeri segno negativo .

Cose da ricordare

🔺 L'operatore arrotonderà il decimale/variabile punti.

Sezione pratica

Nella cartella di lavoro è presente un foglio di esercizi per esercitarsi con gli esempi spiegati.

Conclusione

In questo articolo, ho mostrato 9 esempi di Excel VBA Mod Ho anche cercato di illustrare i motivi per cui gli errori vengono visualizzati di frequente, insieme alle cose da ricordare durante l'uso dell'operatore. Sentitevi liberi di commentare qui sotto per qualsiasi tipo di domanda e suggerimento.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.