Movernos por un libro.
Vamos a ver Macros que nos
permitan movernos por las celdas que contiene un libro.
Buscar
el final de una lista.
Podemos
utilizar esta Macro para podernos situar al final de una lista de
elementos. Interpretaremos que el final de la misma está en el momento
en el que encontramos una celda vacía.
Sub Final()
While ActiveCell.Value <> ""
ActiveCell.Offset(1,
0).Range("A1").Select
Wend
End Sub
Deberemos
observar que con esta Macro siempre queda activada la primera celda
que está en blanco después de toda la lista.
Buscar
el final de una lista y situarnos en la última entrada.
Esta Macro
es exactamente igual que la anterior pero con la única diferencia
que la celda activada es la última entrada de la lista.
Sub
FinalLista()
While ActiveCell.Value <> ""
ActiveCell.Offset(1,
0).Range("A1").Select
Wend
ActiveCell.Offset(-1, 0).Range("A1").Select
End
Sub
En esta
Macro se realiza el bucle hasta que se encuentra la celda vacía
y después subimos una posición para situarnos en la última entrada
de la tabla.
Buscar una entrada en una lista
y borrar toda la fila.
Vamos
a imaginar que tenemos una tabla de datos en la cual nos interesa
buscar un elemento determinado y borrar todos los datos que hay
en la misma fila. Pongamos el caso que tenemos una tabla con nombre,
población y teléfono y deseamos buscar todos los datos de una población
determinada y borrar el nombre y la población Para hacer la búsqueda
deberemos situarnos en la fila que se encuentra la población.
Sub BorrarFilas()
While ActiveCell.Value <> ""
If ActiveCell.Value
<> "Barcelona" Then
ActiveCell.Offset(1, 0).Range("A1").Select
Else
Selection.EntireRow.Delete
End If
Wend
End Sub
Es importante
hacer notar que si ejecutamos esta Macro no se podrá deshacer el
borrado de las filas que se han eliminado con la Macro.
Buscar
el final de una lista con espacios en blanco dentro de ella.
Imaginemos
que tenemos una lista de datos dentro de la que hay espacios en
blanco, como mucho un espacio en blanco entre dato y dato. Si utilizásemos
la primera macro que hemos creado esta interpretaría como final
de la lista el primer espacio en blanco que encontrara. Realizaremos
una macro que interpretará el final de la lista cuando encuentre
2 espacios en blanco seguidos.
Sub FinalListaEspecial()
Salir = "No"
While Salir = "No"
While ActiveCell.Value
<> ""
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
ActiveCell.Offset(1,
0).Range("A1").Select
If ActiveCell.Value
<> "" Then
Salir = "No"
Else
Salir = "Si"
End If
Wend
End Sub
Sería interesante probar
estas macros para ver su funcionamiento.
Los nombres de las Macros no tienen
porqué ser necesariamente los mismos que hemos puesto nosotros.
Te recomiendo escribas estas Macros y las ejecutes para ver como
funcionan.
[INDICE
LECCIONES] |