Diseño de macros en Excel
Ejercicio. Estructuras de bucles
1. Crea una macro que rellene un número determinado de celdas con las días a partir de la fecha actual. Estos son los pasos que deben efectuarse:
- Escribir la fecha actual en la celda activa
- Preguntar la cantidad de días que deseamos rellenar
- A partir de la celda activa y en columna, escribir las fechas correspondientes
Esta podría ser una posible solución:
Sub rellenar_dias()
ActiveCell.Value = Date
Dias = InputBox("Cuántos días")
For i = 1 To Dias - 1
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Date + i
Next i
End Sub
2. Crea una macro que, dada una tabla en Excel, inserte una columna nueva al lado de cada una de las columnas de esta tabla. Estos son los pasos que deben efectuarse:
- Partimos de que la tabla debe estar seleccionada. Contamos el número de columnas
- Recorremos las columnas de la tabla e insertamos nuevas columnas.
Esta podría ser una posible solución:
Sub insertarcolumnas()
RangoSeleccionado = Selection.Columns.Count
ActiveCell.Offset(0, 0).Select
ActiveCell.Offset(0, 1).Select
For i = 1 To RangoSeleccionado - 1
Selection.EntireColumn.Insert
ActiveCell.Offset(0, 2).Select
Next i
End Sub
3. Crea una macro que, dada una tabla en Excel, recorra las celdas de la primera columna y elimine la fila si la celda está vacía. Estos son los pasos que deben efectuarse:
- Partimos de que la tabla debe estar seleccionada. Contamos el número de filas
- Recorremos las filas de la tabla
- Para cada fila comprobamos el valor de la celda y si está vacía ( =”” ), eliminamos la fila completa
Esta podría ser una posible solución:
Sub BorrarFilas()
RangoSeleccionado = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
For i = 1 To RangoSeleccionado
If ActiveCell.Value = "" Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
End Sub