Convertitore di valuta in Excel VBA - Macro facili di Excel

Sommario

Di seguito vedremo un programma in Excel VBA che crea un form utente che converte qualsiasi importo da uno moneta dentro un altro.

Il form utente che creeremo appare come segue:

Per creare questo modulo utente, eseguire i seguenti passaggi.

1. Aprire l'editor di Visual Basic. Se l'Esplora progetti non è visibile, fare clic su Visualizza, Esplora progetti.

2. Fare clic su Inserisci, Modulo utente. Se la Casella degli strumenti non viene visualizzata automaticamente, fare clic su Visualizza, Casella degli strumenti. Lo schermo dovrebbe essere impostato come di seguito.

3. Aggiungere le etichette, le caselle di riepilogo (la prima a sinistra, la seconda a destra), le caselle di testo (la prima a sinistra, la seconda a destra) e il pulsante di comando. Una volta che questo è stato completato, il risultato dovrebbe essere coerente con l'immagine del modulo utente mostrato in precedenza. Ad esempio, creare un controllo casella di riepilogo facendo clic su ListBox dalla casella degli strumenti. Successivamente, puoi trascinare una casella di riepilogo sul form utente.

4. È possibile modificare i nomi e le didascalie dei controlli. I nomi vengono utilizzati nel codice VBA di Excel. Le didascalie sono quelle che appaiono sullo schermo. È buona norma cambiare i nomi dei controlli, ma non è necessario qui perché in questo esempio abbiamo solo pochi controlli. Per modificare la didascalia del form utente, il pulsante di comando e le etichette, fare clic su Visualizza, Finestra delle proprietà e fare clic su ciascun controllo.

5. Per mostrare il form utente, posiziona un pulsante di comando sul foglio di lavoro e aggiungi la seguente riga di codice:

Sub CommandButton1_Click privato ()
UserForm1.Show
Fine sottotitolo

Ora creeremo il Sub UserForm_Initialize. Quando si utilizza il metodo Show per il form utente, questo sottotitolo verrà eseguito automaticamente.

6. Aprire l'editor di Visual Basic.

7. In Esplora progetti, fare clic con il pulsante destro del mouse su UserForm1 e quindi fare clic su Visualizza codice.

8. Scegliere Modulo utente dall'elenco a discesa a sinistra. Scegli Inizializza dall'elenco a discesa a destra.

9. Aggiungi le seguenti righe di codice:

Private Sub UserForm_Initialize()
Con ListBox1
.Aggiungi voce "Euro"
.AddItem "Dollaro americano"
.AddItem "Sterlina britannica"
Termina con
Con ListBox2
.Aggiungi voce "Euro"
.AddItem "Dollaro americano"
.AddItem "Sterlina britannica"
Termina con
ListBox1.ListIndex = 1
ListBox2.ListIndex = 0
TextBox1.Value = 1
TextBox2.Value = 0,722152
Fine sottotitolo

Spiegazione: in primo luogo, vengono riempite le due caselle di riepilogo. Successivamente, la valuta del dollaro USA è impostata come predefinita nella prima casella di riepilogo e la valuta EURO è impostata come predefinita nella seconda casella di riepilogo. Infine, nella prima casella di testo viene immesso il valore 1 e nella seconda casella di testo viene immesso il valore 0.722152.

Ora abbiamo creato la prima parte dell'Userform. Anche se sembra già pulito, non succederà ancora nulla quando faremo clic sul pulsante Vai.

10. Nell'Esplora progetti, fare doppio clic su UserForm1.

11. Fare doppio clic sul pulsante Vai.

12. Aggiungi le seguenti righe di codice:

Sub CommandButton1_Click privato ()
Dim rate(da 0 a 2, da 0 a 2) As Double, i As Integer, j As Integer
tassi(0, 0) = 1
tassi(0, 1) = 1.38475
tassi(0, 2) = 0.87452
tassi(1, 0) = 0,722152
tassi(1, 1) = 1
tassi(1, 2) = 0,63161
tassi(2, 0) = 1,143484
tassi(2, 1) = 1.583255
tassi(2, 2) = 1
Per i = da 0 a 2
Per j = da 0 a 2
Se ListBox1.ListIndex = i And ListBox2.ListIndex = j Allora TextBox2.Value = TextBox1.Value * rate(i, j)
Avanti j
Avanti io
Fine sottotitolo

Spiegazione: prima dichiariamo un array. L'array ha due dimensioni. Si compone di 3 righe e 3 colonne. Successivamente, inizializziamo ogni elemento dell'array. Ad esempio, tassi(1,0) è il tasso di cambio dal dollaro USA all'EURO. Successivamente, iniziamo un doppio ciclo. A seconda delle valute selezionate nelle caselle di riepilogo, Excel VBA converte l'importo inserito nella prima casella di testo e visualizza il risultato nella seconda casella di testo.

Esempio: se i = 2 e j = 1 e inseriamo il valore 2 nella prima casella di testo, Excel VBA inserisce il valore 2 * tassi (2,1) = 2 * 1,583255 = 3,16651 nella seconda casella di testo.

13. Testare il modulo utente.

Risultato:

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

wave wave wave wave wave