viernes, 15 de mayo de 2015

Completar los espacios en blanco

Archivo de Excel utilizado: completar.xlsm

En esta entrada vamos a utilizar en tres casos la tecla F5 que es Ir a y luego el botón Especial...

Hoja1

Utilizaremos dos métodos para completar los espacios en blanco que hay debajo de ciertas palabras.



El resultado obtenido es el siguiente.



También podemos utilizar Macros.



Para que la macro funcione correctamente primero se ha de seleccionar el rango E4:E23.
Observe el código que con Set Rng = Secection lo que hacemos es recogen en la variable objeto Rng el rango que previamente teníamos seleccionado. De este rango deseamos obtener la fila y columna de inicio que es la fila 4 y columna 5, y el número de celdas que son 20. Ahora ya podemos trabajar con estos valores y meternos en un For...Next que nos permitirá recorrer el rango y analizar si la celda está vacía o no. Si está vacía hacemos que tome el valor de la previa.

Sub Completa()
Dim Rng As Range
Dim FilIn As Long 'Fila de inicio del rango
Dim ColIn As Integer 'Columna de inicio del rango
Dim NumCeldas As Long
Dim Fila As Long
Set Rng = Selection
FilIn = Rng.Application.ActiveCell.Row
ColIn = Rng.Application.ActiveCell.Column
NumCeldas = Rng.Cells.Count
For Fila = FilIn To FilIn + NumCeldas - 1
  If Cells(Fila, ColIn).Value = Empty Then
    Cells(Fila, ColIn).Value = Cells(Fila - 1, ColIn).Value
  End If
Next Fila
End Sub

Hoja2

Deseamos obtener un resumen de la siguiente tabla.


 El resumen que pretendemos obtener es el siguiente.



Para conseguir nuestro objetivo realizaremos los dos procedimientos siguientes. Con el primero obtendremos un listado de ciudades y con el segundo las sumas que corresponden a cada ciudad.



Hoja3

Para eliminar filas en blanco ya se realizó un procedimiento con macro en otro post cuyo enlace es el siguiente.

En esta ocasión vamos a eliminar filas sin usar una macro. Existe una limitación de este método que consiste en que eliminará la fila donde todas las celdas estén vacías, pero también se eliminarán las filas que contengan alguna celda vacía aunque no queramos. Esto es, si alguna fila tiene datos y no deseamos eliminarla pero contiene una celda vacía, simplemente por existir una celda vacía eliminará la fila completa, aunque esta tenga otros datos.




No hay comentarios:

Publicar un comentario