Formula excel, con la cual puedo buscar un numero en una columna de numeros, y me devuelva el posterior y el anterior del numer

Formula excel, o macro con la cual puedo buscar un numero en una columna de números, y me devuelva el posterior y el anterior del numero buscado.

Ejemplo: Buscar el numero 21 y devolver el posterior y anterior

99

365

21

69

15

2

21

5

36

RESULTADOS:

365,69

2,5

1 respuesta

Respuesta
1

H o l a:

Te anexo la macro

Sub BuscarNumeros()
'Por.Dante Amor
    co1 = "A"       'columna de números
    cel = "B2"      'celda con el número a buscar
    co2 = "C"       'columna de resultados
    '
    num = Range(cel)
    u = Range(co2 & Rows.Count).End(xlUp).Row + 1
    Range(co2 & 2 & ":" & co2 & u).ClearContents
    j = 2
    Set r = Columns(co1)
    Set b = r.Find(num, lookat:=xlWhole)
    If Not b Is Nothing Then
        celda = b.Address
        Do
            If b.Row > 1 Then ant = Cells(b.Row - 1, co1) Else ant = ""
            Cells(j, co2) = ant & "," & Cells(b.Row + 1, co1)
            j = j + 1
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> celda
    End If
End Sub

Pon los datos de la siguiente forma: los números en la columna A, el número a buscar deberás ponerlo en la celda B2. Los resultado se mostrarán en la columna C:


Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: BuscarNumeros
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )


Dante, muchas gracias por tu pronta respuesta¡

Muchas gracias.

Te pido por favor me ayudes un poco más, ya que necesito presentarlo en una columna que diga posterior y en la otra que diga anterior.

Tendrás que explicar con ejemplos y con imágenes cómo quieres el resultado, ya que en el primer ejemplo que pusiste tienes esto:

RESULTADOS:

365,69

2,5

R ecuerda valorar adecuadamente las respuestas.

Seria de esta forma :

Te anexo la macro actualizada:

Sub BuscarNumeros()
'Por.Dante Amor
    co1 = "A"       'columna de números
    cel = "B2"      'celda con el número a buscar
    co2 = "C"       'columna de resultados
    '
    num = Range(cel)
    u = Range(co2 & Rows.Count).End(xlUp).Row + 1
    Range(co2 & 2 & ":D" & u).ClearContents
    j = 2
    Set r = Columns(co1)
    Set b = r.Find(num, lookat:=xlWhole)
    If Not b Is Nothing Then
        celda = b.Address
        Do
            If b.Row > 1 Then ant = Cells(b.Row - 1, co1) Else ant = ""
            Cells(j, co2) = ant
            Cells(j, "D") = Cells(b.Row + 1, co1)
            j = j + 1
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> celda
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas