Medios variables en Excel VBA

Buenos días, me llamo Miguel y durante el dia de hoy os traigo un nuevo post.

A continuación veremos un programa en Excel VBA que crea un mesa de material rodante. Coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Rango ("B3"). Valor = WorksheetFunction.RandBetween (0, 100)

Esta línea de código ingresa un número aleatorio entre 0 y 100 en la celda B3. Queremos que Excel VBA tome el nuevo valor de las acciones y lo coloque en la primera posición de la tabla de promedio móvil. Los otros valores deben bajar un lugar y eliminar el último valor.

Tabla de promedio variable en Excel VBA

Tabla de promedio variable en Excel VBA

Cree un evento de cambio de hoja de trabajo. Excel VBA ejecutará el código agregado al evento de cambio de la hoja de trabajo cuando cambie una celda en una hoja de trabajo.

1. Abra el Editor de Visual Basic.

2. Haga doble clic en Sheet1 en el Explorador de hojas.

3. Elija Hoja de trabajo en la lista desplegable de la izquierda. Elija Cambiar en la lista desplegable de la derecha.

Evento de cambio de hoja de trabajo en Excel VBA

Agregue las siguientes líneas de código al evento de cambio de la hoja de trabajo:

4. Declare una variable llamada newvalue de tipo Integer y dos rangos (firstfourvalues ​​y lastfourvalues).

Oscuro nuevo valor Cómo Entero, primeros valores Cómo Rango, últimos valores Cómo Alcance

5. El evento de cambio de hoja de trabajo escucha todos los cambios en Sheet1. Solo queremos que Excel VBA haga algo si algo cambia en la celda B3. Para hacer esto, agregue la siguiente línea de código:

Target.Address = "$ B $ 3" Entonces

6. Inicializamos newvalue con el valor de la celda B3, firstfourvalues ​​con Range ("D3: D6") y lastfourvalues ​​con Range ("D4: D7").

newvalue = Rango ("B3"). Valor
Colocar firstfourvalues ​​= Rango ("D3: D6")
Colocar lastfourvalues ​​= Rango ("D4: D7")

7. Ahora viene el truco simple. Queremos actualizar la tabla de promedios. Puede lograr esto reemplazando los últimos cuatro valores con los primeros cuatro en la tabla y colocando el nuevo valor de acción en la primera posición.

lastfourvalues.Value = firstvalues.Value
Intervalo ("D3"). Valor = nuevo valor

8. No olvide cerrar la declaración if.

Aleta si

9. Finalmente, ingrese la fórmula = PROMEDIO (D3: D7) en la celda D8.

10. Pruebe el programa haciendo clic en el botón de comando.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info