Media mobile in Excel VBA - Macro semplici di Excel

Sommario

Di seguito vedremo un programma in Excel VBA che crea un tabella della media mobile. Inserisci un pulsante di comando sul foglio di lavoro e aggiungi la seguente riga di codice:

Range("B3").Value = WorksheetFunction.RandBetween(0, 100)

Questa riga di codice inserisce un numero casuale compreso tra 0 e 100 nella cella B3. Vogliamo che Excel VBA prenda il nuovo valore delle azioni e lo posizioni nella prima posizione della tabella della media mobile. Tutti gli altri valori dovrebbero scendere di una posizione e l'ultimo valore dovrebbe essere cancellato.

Crea un evento di modifica del foglio di lavoro. Il codice aggiunto all'evento di modifica del foglio di lavoro verrà eseguito da Excel VBA quando si modifica una cella in un foglio di lavoro.

1. Aprire l'editor di Visual Basic.

2. Fare doppio clic su Foglio1 (Foglio1) in Esplora progetti.

3. Scegli Foglio di lavoro dall'elenco a discesa a sinistra. Scegli Modifica dall'elenco a discesa a destra.

Aggiungi le seguenti righe di codice all'evento di modifica del foglio di lavoro:

4. Dichiarare una variabile denominata newvalue di tipo Integer e due intervalli (firstfourvalues ​​e lastfourvalues).

Dim newvalue As Integer, firstfourvalues ​​As Range, lastfourvalues ​​As Range

5. L'evento di modifica del foglio di lavoro ascolta tutte le modifiche su Foglio1. Vogliamo solo che Excel VBA faccia qualcosa se qualcosa cambia nella cella B3. Per ottenere ciò, aggiungi la seguente riga di codice:

Se Target.Address = "$B$3" Allora

6. Inizializziamo newvalue con il valore della cella B3, firstfourvalues ​​con Range("D3:D6") e lastfourvalues ​​con Range("D4:D7").

nuovovalore = Intervallo ("B3"). Valore
Imposta i primi quattro valori = Intervallo ("D3: D6")
Imposta lastfourvalues ​​= Range("D4:D7")

7. Ora arriva il semplice trucco. Vogliamo aggiornare la tabella delle medie mobili. È possibile ottenere ciò sostituendo gli ultimi quattro valori con i primi quattro valori della tabella e posizionando il nuovo valore azionario in prima posizione.

lastfourvalues.Value = firstfourvalues.Value
Intervallo ("D3"). Valore = nuovo valore

8. Non dimenticare di chiudere l'istruzione if.

Finisci se

9. Infine, inserisci la formula = MEDIA (D3: D7) nella cella D8.

10. Testare il programma facendo clic sul pulsante di comando.

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

wave wave wave wave wave