Ultima celda con valor

11/02/2006 - 19:04 por chy | Informe spam
Tengo una serie de celdas que estan vinculadas desde otra hoja, de
forma que si no hay valor en la hoja original no apreza nada.

Necesito poder saber cual es la última celda en la qwue aparece un
valor para poder asignarle un valor a otra columna.

Cuando he necesitado algo similar he utilizado este código y me ha
funcionado, pero en este caso nfalla ya que las celdas no estan vacias
ya que contienen el vinculo.


'--
Range("E10").Select
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
'--

Por otro lado he conseguido saber la última celda que tiene un
número, pero soy incapaz de traducirlo a código.

=BUSCAR(9,99999999999999E+307;A:A)

Alguien me puede aportar una idea
 

Leer las respuestas

#1 KL
11/02/2006 - 19:52 | Informe spam
Hola chy,

...saber cual es la última celda en la que aparece un
valor...



1) Tu codigo para los casos cuando las celdas estan realmente vacias es ineficiente y podria transformarse de la siguiente manera:
'
miValor = Range("A65536").End(xlUp)
MsgBox miValor
'
Nota: para usar/cambiar el valor de la celda encontrada no necesitas seleccionarla

2) Para el caso actual que expones podrias usar el siguiente codigo:

'
On Error Resume Next
With Range("A:A")
miValor = .Find("*", .Cells(1), xlValues, _
xlWhole, xlByRows, xlPrevious)
End With
MsgBox miValor
'
Nota: este codigo encontrara el ultimo valor en la columna [A] sea ese texto o numerico.

3) La formula que expones se puede acortar un poco: =BUSCAR(1e307;A:A)
Y ademas se puede usar en el codigo de la siguiente manera:

'
miValor = Application.Lookup(1E+307, Range("A:A"))
MsgBox miValor
'

Saludos,
KL

Preguntas similares