0% encontró este documento útil (0 votos)
53 vistas3 páginas

Códigos VBA

El documento presenta dos subrutinas en VBA para procesar datos en Excel. La primera subrutina lee un rango de datos y resalta las celdas que contienen el valor 9, mientras que la segunda calcula promedios mensuales y ajusta los datos en función de estos promedios. Ambas subrutinas utilizan arreglos y estructuras de control para manipular y analizar los datos de manera eficiente.

Cargado por

geraldine
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas3 páginas

Códigos VBA

El documento presenta dos subrutinas en VBA para procesar datos en Excel. La primera subrutina lee un rango de datos y resalta las celdas que contienen el valor 9, mientras que la segunda calcula promedios mensuales y ajusta los datos en función de estos promedios. Ambas subrutinas utilizan arreglos y estructuras de control para manipular y analizar los datos de manera eficiente.

Cargado por

geraldine
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

INFORMÁTICA – VBA

'Primero creo el módulo

Option Explicit

Option Base 0

'Option explicit es para declarar las variables

'Option base cero para que las direcciones y matrices empiecen en 0

Sub INFORMÁTICA_1CLASE18_04()

Dim Miarray() As Double

'double es para decimales de doble precisión

'interger es para numeros enteros

Dim nfilas As Integer, iterador As Integer

'Queremos saber cuantos datos hay

Cells(3, 2).Select

Range(ActiveCell, [Link](xlDown)).Select

'Cuantas filas tiene el rango de datos o selection

'<[Link]>

'Ese valor se lo asignare a una nueva variable = nfilas

'tengo que definir esta nueva variable arriba en Dim

nfilas = [Link]

'Quiero escribir/leer los datos de la celda en el Array

'utilizo la estructura "For"

'For i = 0 To nfilas

'Con la orden ReDim puedo cambiar los valores del Array

'... es decir, restablece el tamaño del vector

ReDim Miarray(0 To (nfilas - 1)) As Double

'iterador es una nueva variable. Ademas, se escribe...


'el cero como valor inicial y lo que deseas como valor final

For iterador = 0 To (nfilas - 1)

'Quiero que vaya del 0 al 7 porque son 8 direcciones entonces le -1

Miarray(iterador) = Cells(3 + iterador, 2)

'estoy leyendo la celda y asignadole al array

'----- HASTA AQUI EL CODIGO SOLO HA LEIDO DATOS

Next

'---PROCESO DE DATOS: Si encuentra un valor que seleccione la celda

For iterador = 0 To (nfilas - 1)

If Miarray(iterador) = 9 Then

'Si el vector que va de 0 a 7 encuentra un 9 lo seleccionara

'Cells(3 + iterador, 2).Select

'----PROCESO DE DATOS 2: quiero que marque los 9

Cells(3 + iterador, 2).[Link] = 18

End If

Next

End Sub

Sub INFORMÁTICA_2CLASE21_04()

Dim M() As Double, P() As Double, I() As Double, promediotot As Double

Dim iteradormes As Double, iteradoryear As Double, promediomens As Double, j As


Double

Dim meses As Integer, years As Integer

Cells(3, 2).Select
Range(ActiveCell, [Link](xlDown)).Select

meses = [Link]

years = meses / 12

promediotot = [Link](Selection)

ReDim M(0 To (years - 1))

ReDim P(0 To 11)

ReDim I(0 To 11)

For iteradormes = 0 To 11

For iteradoryear = 0 To (years - 1)

M(iterador) = Cells(3 + iteradormes + 12 * iterador, 2)

Next

promediomens = [Link](M())

P(iteradormes) = promedio

I(iteradormes) = P(iteradormes) / promediotot

Cells(20 + iteradormes, 4) = iteradormes + 1

Cells(20 + iteradormes, 5) = I(iteradormes)

Next

For j = 0 To (meses - 1)

For iteradormes = 0 To 11

Cells(3 + iteradormes + 12 * j, 3) = Cells(3 + iteradormes + 12 * j, 2) / I(iteradormes)

Next

Next

End Sub

También podría gustarte