Inicio > Microsoft Excel > valedor > + SOBRE ÚLTIMO DATO

+ SOBRE ÚLTIMO DATO

Experto:
Usuario:
Fecha: 05/12/2008
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
05/12/2008
skauter, usuario preguntando en Microsoft Excel
Usuario
Hola Mauricio.
Antes de nada felicitarte por tu página, empleas un lenguaje claro y comprensible, sobre todo, paro los neófitos como yo en esto del BV. He seguido tus consejos y sin ningún problema me funcionó el ejemplo que tan amablemente me has remitido.
Ahora, ampliando un poco la pregunta que te formulé, desearía, si no te causara muchas molestias, me dijeras como podría adaptar ese código que me has facilitado, el cual te adjunto al final, para que en lugar de evaluar los datos de una columna, lo hiciera sobre dos (pe.- sobre la columna "A" y "B" y que el resultado lo mostrara en "C1" y "D1" respectivamente), yo lo he intentado pero tengo que reconocer que no se puede, en dos días, realizar un trabajo de muchos años.
Sobre el tema que nos ocupa tengo otra consulta para realizarte, pero como la única forma que tenemos de valorar vuestro trabajo es con la puntuación que realizamos al finalizar las preguntas, considero que debo formular una nueva consulta.
Un saludo y nuevamente gracias por tu altruismo.
--------
Option Explicit

Public Function UltimoValor(ByVal Rango As Range, Optional Criterio As String) As Variant
Dim UltimaFila As Long
Dim PrimerFila As Long
Dim co1 As Long

PrimerFila = Rango.Cells(1, 1).Row
If Rango.Cells(Rango.Rows.Count, 1).Value = "" Then
UltimaFila = Rango.Cells(Rango.Rows.Count, 1).End(xlUp).Row
Else
UltimaFila = Rango.Cells(Rango.Rows.Count, 1).Row
End If
If UltimaFila >= PrimerFila Then
If Criterio = "" Then
UltimoValor = Rango.Cells(UltimaFila, 1).Value
Else
For co1 = UltimaFila To PrimerFila Step -1
If Rango.Cells(co1, 1).Value Like Criterio Then
UltimoValor = Rango.Cells(co1, 1).Value
Exit For
End If
Next co1
If IsEmpty(UltimoValor) Then
UltimoValor = "Sin datos"
End If
End If
Else
UltimoValor = "Sin datos"
End If

End Function

05/12/2008
skauter, experto respondiendo en Microsoft Excel
Experto
Hola, gracias por visitar mi pagina...

Te confieso que eso de los puntos me tiene sin cuidado, he propuesto varias veces que los eliminen, al fin de cuentas uno contesta lo que uno quiere y a quien quiere y tambien nos pregunta los que quieren, bendita libertad...


Para lo que quieres puedes usar la misma formula, quedaria asi...

C1 =UltimoValor(A:A,"AA*")

D1 =UltimoValor(B:B,"AA*")

lo cual te mostraria el ultimo valor que coincida con el criterio AA* en las columnas A y B respectivamente, saludos...
05/12/2008
skauter, usuario preguntando en Microsoft Excel
Usuario
Nuevamente reitero las gracias.
Seguiré ojeando tu página a ver si consigo aprender un poquito de lo que tú tan bien explicas.
Un saludo.
Enlaces patrocinados