Supongamos
que nos encontramos en la celda, Range(“A1”) o Cells(1,1) o en la celda activa:
ActiveCell.
Range("A1").Offset(1,2).Select
|
Selecciona
1 filas hacia abajo y 3 col a derecha de A1 = C2
|
Cells(1,1)
.Offset(1,2).Select
|
|
ActiveCell.Offset(3,-2).Select
|
Selecciona
la celda que esta 3 filas abajo y 2 a la izquierda
|
ActiveCell.Offset(-2,1).Select
|
Selecciona
la celda que esta 2 filas arriba y 1 a la derecha
|
Hay
que recordar que si asignamos o nos tratamos de desplazar a una rango
inexistente nos mostrara ERROR.
Por
supuesto podemos jugar con las variables como vimos en el Artículo "Seleccionar Celdas"
En
este caso partimos de la celda B1 y nos moveremos una fila hacia abajo y tantas
columnas como en la celda A1 se indiquen.
Sub selecionar ()
i =
Cells(1, 1)
Cells(1,
2).Offset(1, i).Select
End
Sub
En
la selección de celdas es interesante saber cuál es la última celda con datos o
la primera celda vacía, ya que esto es interesante en, por ejemplo, una base de
datos de clientes.
Si
nos encontramos en A1 y queremos ir hasta la última celda con datos, puede ser hacia abajo o hacia la derecha:
Range("A1").End(xlDown).Select
|
Buscará
la última celda con datos hacia abajo. Selecciona PLATANO
|
Range("A1").End(xlToRight).Select
|
Buscará
la última celda usada hacia la derecha.
Selecciona LIMÓN
|
Range("A65536").End(xlUp).Select
|
Buscara
la última celda usada independientemente de los espacios en blanco. Selecciona
MELÓN
|
Para
seleccionar las celdas en color:
COLOR
|
INSTRUCCIÓN
|
ROJO
|
Range("A65536").End(xlUp).Offset(1, 0).Select
|
VERDE
|
Range("a1").End(xlDown).Offset(1, 0).Select
|
AMARILLO
|
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
|
Existen
otras formas, como algunas que he encontrado por internet para seleccionar
estas celdas, como por ejemplo:
Para
seleccionar la celda ROJA:
Sub ROJA()
Dim fila1 As Integer
fila1 = Range("A65536").End(xlUp).Row + 1
ActiveSheet.Range("A" & fila1).Select
End Sub
‘Crea
una variable (fila1), que encuentra la primera fila (ROW) con datos, añade una
fila mas y esta fila va ser la que luego sirva para indicar el Range("A"
& fila1).Select
En
el siguiente código, no solo encuentra la primera celda vacía, sino que también
nos da la opción de pegarnos el resultado en una celda, a través de la opción .Address
o de ofrecernos un mensaje con la celda en cuestión.
Sub ROJA2()
Dim intUltimaFila As Range
If WorksheetFunction.CountA(Columns(1)) > 0 Then
Set intUltimaFila =
Range("A65536").End(xlUp)
'que
lo escriba en una celda
Range("G1")
= intUltimaFila.Address
'que
te lo diga en un mensaje
'MsgBox intUltimaFila.Address
End If
End Sub
0 comentarios:
Publicar un comentario