/ / Convertitore di valute in Excel VBA

Convertitore di valute in Excel VBA

Di seguito vedremo un programma in Excel VBA che crea un Userform che convertiti qualsiasi importo da uno moneta dentro un altro.

L'Userform che stiamo per creare appare come segue:

Convertitore di valute in Excel VBA

Per creare questo Userform, eseguire i seguenti passaggi.

1. Aprire il Visual Basic Editor. Se Project Explorer non è visibile, fai clic su Visualizza, Esplora progetti.

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

Impostazione della schermata Userform in Excel VBA

3. Aggiungi le etichette, le caselle di riepilogo (prima a sinistra, la seconda a destra), le caselle di testo (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 della forma utente mostrata 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 modulo utente.

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

5. Per visualizzare Userform, posizionare un pulsante di comando nel foglio di lavoro e aggiungere la seguente riga di codice:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Ora creeremo Sub UserForm_Initialize. Quando si utilizza il metodo Show per Userform, questo sub verrà eseguito automaticamente.

6. Aprire il Visual Basic Editor.

7. Nell'Esplora progetti, fare clic con il pulsante destro su UserForm1 e quindi scegliere Visualizza codice.

8. Selezionare Userform dall'elenco a discesa a sinistra. Scegli Inizializza dall'elenco a discesa a destra.

9. Aggiungi le seguenti linee di codice:

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

With ListBox2
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

ListBox1.ListIndex = 1
ListBox2.ListIndex = 0

TextBox1.Value = 1
TextBox2.Value = 0.722152

End Sub

Spiegazione: in primo luogo, le due caselle di elenco sono riempite. Successivamente, la valuta Dollaro USA viene impostata come predefinita nella prima casella di riepilogo e la valuta EURO viene impostata come predefinita nella seconda casella di riepilogo. Infine, il valore 1 viene inserito nella prima casella di testo e il valore 0,722152 viene inserito nella seconda casella di testo.

Ora abbiamo creato la prima parte di Userform. Anche se sembra già pulito, non accadrà ancora nulla quando clicchiamo sul pulsante Vai.

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

11. Fare doppio clic sul pulsante Vai.

12. Aggiungi le seguenti linee di codice:

Private Sub CommandButton1_Click()

Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer

rates(0, 0) = 1
rates(0, 1) = 1.38475
rates(0, 2) = 0.87452

rates(1, 0) = 0.722152
rates(1, 1) = 1
rates(1, 2) = 0.63161

rates(2, 0) = 1.143484
rates(2, 1) = 1.583255
rates(2, 2) = 1

For i = 0 To 2
    For j = 0 To 2
        If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)
    Next j
Next i

End Sub

Spiegazione: per prima cosa dichiariamo un array. L'array ha due dimensioni. Consiste di 3 file e 3 colonne. Successivamente, inizializziamo ciascun elemento dell'array. Ad esempio, le tariffe (1,0) sono il tasso di cambio da Dollaro USA a EURO. Quindi, iniziamo un doppio ciclo. A seconda delle valute selezionate nelle caselle di riepilogo, VBA di Excel converte l'importo immesso 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 * rates (2,1) = 2 * 1.583255 = 3.16651 nella seconda casella di testo.

13. Testare il modulo utente.

Risultato:

Risultato del convertitore di valuta

Leggi anche: