Modificación de macros
Buenos días, Espero que me podáis ayudar!
He buscado por internet, y he encontrado la pregunta y la respuesta pero tengo un pequeño problema. Os adjunto la pregunta y la respuesta que he encontrado:
PREGUNTA: "Tengo una hoja de calculo y necesito
que al buscar un valor me localice en la columna el ultimo valor buscado ingresado
(Ya que ese valor lo he ingresado varias veces y con buscarv normalmente el me
localiza el primer registro ingresado, pero no el ultimo y necesito es que me
encuentre el ultimo valor buscado que he ingresado en la base de datos)
RESPUESTA: No encuentro una función para resolver tu consulta, pero lo puedes solucionar con un macro.
En el menu herramientas selecciona macro/macros y escribe el nombre de la macro como "UValor" y selecciona el botón Crear, se abrirá un modulo de visual basic. Borra el texto y pega el siguiente:
Sub UValor()
Udato = ActiveCell.Value
UCelda = ActiveCell.Address
Range("A2").Select ''Anota la celda inicial de la busqueda
Selection.End(xlDown).Select
Do Until ActiveCell.Row = 2 ''Anota la fila inicial de la busqueda
If ActiveCell.Value = Udato Then
ActiveCell. Offset(0, 1). Select ''Cambia la referencia (renglon, columna) para indicar la columna que tiene el valor deseado
UCaptura = ActiveCell.Value
Exit Do
End If
ActiveCell.Offset(-1, 0).Select
Loop
Range(UCelda).Select
ActiveCell.Offset(0, 1).Formula = UCaptura ''Cambia la referencia (renglon, columna) para indicar la columna en la que deseas el valor deseado
ActiveCell.Offset(1, 0).Select
Beep
End Sub
Regresa a la hoja de cálculo y selecciona herramientas/marcros/UValor/ejecutar y listo
Si exploras un poco más notarás que puedes asignar el macro a una combinación de teclas o a un botón en la barra de herramientas..
Solo ejecuta el macro en la celda que tiene el valor que deseas buscar.
Todo perfecto, pero mi problema es que yo la lista la voy actualizando, y claro escribo un valor continuado de la lista, utilizo el macro, y claro, me coge el ultimo valor, si pero el que acabo de escribir! No se me entendéis...
María 5
Sara 3
laura 5
MAR 8
SARA 5
Sara ( y al utilizar el macro en Sara tendría que ponerme 5, pero no lo pone, porque según el macro el ultimo valor puesto es el que acabo de escribir, y el resultado es vacío)
¿Qué debería de modificar en el macro? Estaría muy agradecido... Ya que necesito esto para trabajar! Muchas gracias!
He buscado por internet, y he encontrado la pregunta y la respuesta pero tengo un pequeño problema. Os adjunto la pregunta y la respuesta que he encontrado:
PREGUNTA: "Tengo una hoja de calculo y necesito
que al buscar un valor me localice en la columna el ultimo valor buscado ingresado
(Ya que ese valor lo he ingresado varias veces y con buscarv normalmente el me
localiza el primer registro ingresado, pero no el ultimo y necesito es que me
encuentre el ultimo valor buscado que he ingresado en la base de datos)
RESPUESTA: No encuentro una función para resolver tu consulta, pero lo puedes solucionar con un macro.
En el menu herramientas selecciona macro/macros y escribe el nombre de la macro como "UValor" y selecciona el botón Crear, se abrirá un modulo de visual basic. Borra el texto y pega el siguiente:
Sub UValor()
Udato = ActiveCell.Value
UCelda = ActiveCell.Address
Range("A2").Select ''Anota la celda inicial de la busqueda
Selection.End(xlDown).Select
Do Until ActiveCell.Row = 2 ''Anota la fila inicial de la busqueda
If ActiveCell.Value = Udato Then
ActiveCell. Offset(0, 1). Select ''Cambia la referencia (renglon, columna) para indicar la columna que tiene el valor deseado
UCaptura = ActiveCell.Value
Exit Do
End If
ActiveCell.Offset(-1, 0).Select
Loop
Range(UCelda).Select
ActiveCell.Offset(0, 1).Formula = UCaptura ''Cambia la referencia (renglon, columna) para indicar la columna en la que deseas el valor deseado
ActiveCell.Offset(1, 0).Select
Beep
End Sub
Regresa a la hoja de cálculo y selecciona herramientas/marcros/UValor/ejecutar y listo
Si exploras un poco más notarás que puedes asignar el macro a una combinación de teclas o a un botón en la barra de herramientas..
Solo ejecuta el macro en la celda que tiene el valor que deseas buscar.
Todo perfecto, pero mi problema es que yo la lista la voy actualizando, y claro escribo un valor continuado de la lista, utilizo el macro, y claro, me coge el ultimo valor, si pero el que acabo de escribir! No se me entendéis...
María 5
Sara 3
laura 5
MAR 8
SARA 5
Sara ( y al utilizar el macro en Sara tendría que ponerme 5, pero no lo pone, porque según el macro el ultimo valor puesto es el que acabo de escribir, y el resultado es vacío)
¿Qué debería de modificar en el macro? Estaría muy agradecido... Ya que necesito esto para trabajar! Muchas gracias!
1 respuesta
Respuesta de angelcrisnor
1