De Todo
Sub Ejemplo_20 ()
Dim Nota As Integer
Dim Media As Single
Media = 0
Nota = Val(InputBox("Entrar la 1 Nota : ","Entrar Nota"))
ActiveSheet.Range("A1").Value = Nota
Media = Media + Nota
Nota = Val(InputBox("Entrar la 2 Nota : ","Entrar Nota"))
ActiveSheet.Range("A2").Value = Nota
Media = Media + Nota
Nota = Val(InputBox("Entrar la 3Nota : ","Entrar Nota"))
ActiveSheet.Range("A3").Value = Nota
Media = Media + Nota
Nota = Val(InputBox("Entrar la 4 Nota : ","Entrar Nota"))
ActiveSheet.Range("A4").Value = Nota
Media = Media + Nota
Nota = Val(InputBox("Entrar la 5 Nota : ","Entrar Nota"))
ActiveSheet.Range("A5").Value = Nota
Media = Media + Nota
Media = Media / 5
ActiveSheet.Range("A6").Value = MediaEnd Sub
Observe que este programa repite el siguiente bloque de sentencias, 5 veces.
Nota = Val(InputBox("Entrar la 1 Nota : ","Entrar Nota"))
ActiveSheet.Range("A5").Value = Nota
Media = Media + Nota
Para evitar esta tipo de repeticiones de código, los lenguajes de programación incorporan instrucciones que permiten la repetición de bloques de código.
Estructurarepetitiva Para (for).
Esta estructura sirve para repetir la ejecución de una sentencia o bloque de sentencias, un número definido de veces.
La estructura es la siguiente:
Para var =Valor_Inicial Hasta Valor_Final Paso Incremento Hacer
Inicio
Sentencia 1
Sentencia 2
Sentencia N
Fin
Var es una variable que la primera vez que se entra en el bucle se iguala a Valor_Inicial, lassentencias del bucle se ejecutan hasta que Var llega al Valor_Final, cada vez que se ejecutan el bloque de instrucciones Var se incrementa según el valor de Incremento.
En Visual Basic para Excel la estructura Para se implementa con la instrucción For ... Next.
For Varible = Valor_Inicial To Valor_Final Step Incremento
Sentencia 1
Sentencia 2
Sentencia N
Next Variable
* Si elincremento es 1, no hace falta poner Step 1.
Ejemplo 21.
Entrar 10 valores utilizando la función InputBox, sumarlos y guardar el resultado en la casilla A1 de la hoja activa.
Sub Ejemplo_21()
Dim i As Integer
Dim Total As Integer
Dim Valor As Integer
For i=1 To 10
Valor= Val(InputBox("Entrar un valor","Entrada"))
Total = Total + Valor
Next iActiveCell.Range("A1").Value = Total
End Sub
Recorrer casillas de una hoja de cálculo.
Una operación bastante habitual cuando se trabaja con Excel es el recorrido de rangos de casillas para llenarlas con valores, mirar su contenido, etc. Las estructuras repetitivas son imprescindibles para recorrer grupos de celdas o rangos.
Vea los siguientes ejemplos para ver ejemplos de utilización de estructurasrepetitivas para recorrer rangos de casillas, observe la utilización de las propiedades Cells y Offset.
Propiedad Cells.
Ya conoce esta propiedad, sirve para referenciar una celda o un rango de celdas según coordenadas de fila y columna.
Ejemplo 22
Llenar el rango de las casillas A1..A5 con valores pares consecutivos empezando por el 2.
Sub Ejemplo_22()
Dim Fila As IntegerDim i As Integer
Fila = 1
For i=2 To 10 Step 2
ActiveSheet.Cells(Fila,1).Value = i
Fila = Fila+1
Next i
End Sub
Ejemplo 23.
Llenar un rango de filas, empezando por una celda, que se debe especificar desde teclado, con una serie de 10 valores correlativos (comenzando por el 1).
Sub Ejemplo_23()
Dim Celda_Inicial As String
Dim i As Integer
Dim Fila AsInteger, Columna As Integer
Celdaa_Inicial = InputBox("Introducir la celdaa Inicial : ", "Celda Inicial")
ActiveSheet.Range(Celda_Inicial).Activate
' Toma el valor de fila de la celda activa sobre la variable Fila
Fila = ActiveCell.Row
' Tomar el valor de columna de la celda activa sobre la variable Fila
Columna = ActiveCell.Column
For i = 1 To 10
ActiveSheet.Cells(Fila,...
Regístrate para leer el documento completo.