Jump to content

Archived

This topic is now archived and is closed to further replies.

felipeverdugo1

Macro: Buscar una fecha indicada en una columna y seleccionar celda encontrada

Recommended Posts

Estimadisimos amigos del foro:

Estoy creando una planilla para controlar avance de una construcción, necesito solucionar el siguiente problema.

En la comuna E tengo las fechas de cada día de trabajo. y al lado de cada fecha, tengo campos como avance, rendimiento, etc..

Lo que quiero hacer es que al principio de la hoja (digamos, celda M35), uno pueda escribir la fecha que quiere revisar, y al apretar enter (o pulsar un boton), una macro busque la fecha indicada en la columna B, y si encuentra tal fecha, la seleccione.

Esto para que cada día que se quiera ingresar un avance, no halla que navegar para encontrar la fila correspondiente al día que se quiere rellenar, sino que la macro haga ese trabajo.

Muchas gracias comunidad Ayuda excel

Share this post


Link to post
Share on other sites

Saludos.

Basandome en el ejemplo que adjuntaste, te sugiero la siguiente macro, la puedes ejecutar desde cualquier hoja.

Sub Buscar_Fecha()
Dim fcha As Range
Fecha = Application.InputBox("Ingrese la fecha", "Buscador de fechas")
With Sheets("Hoja1")
.Activate
Set fcha = .Range("C:C").Find(What:=Fecha, LookAt:=xlWhole)
If Not fcha Is Nothing Then
fcha.Offset(, -1).Activate
End If
End With
End Sub[/PHP]

Atte.

joshua

Share this post


Link to post
Share on other sites

Hola Joshua, primero que nada agradecerte mucho por la ayuda.

Segundo, la macro no me funciona bien. Cuando la ejecuto, o bien me manda a otra hoja del documento, o crea una hoja nueva, pero no busca la fecha en la columna indicada (columna E)

Me imagino que el error se puede deber a que las fechas corresponden a una formula y no a un valor (la formula es =+DIA.LAB(E53;1;datos!$A$2:$A$80)), Quizás por eso no encuentra la fecha indicada y me manda siempre a otra hoja.

Si puedes ayudarme con esto sería increible.

Saludos

- - - - - Mensaje combinado - - - - -

Smako, muchas gracias por la ayuda, pero la macro no me corre bien. al cambiar el valor de la celda I5, se ejecuta la macro pero me arroja error (variable de objeto o bloque With no establecido), y al abrir el depurador, me destaca en amarillo Buscar.activate. (linea 14).

Si me pudieras ayudar con esto te lo agradecería mucho.

Saludos

Share this post


Link to post
Share on other sites

Felipe, esto pasa porque nosotros hicimos una macro imaginandonos como sería tu búsqueda de acuerdo a lo que nos explicaste y tu solo estas copiando y pegando en tu archivo el código, por eso no te funciona. Manda tu archivo original para poder adaptarte el código a dicho archivo

Share this post


Link to post
Share on other sites

Ahora si hermano, pega esto en el código de la Hoja 1 y ya te debe funcionar:


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Fecha As String
Dim Buscar As Range

Fecha = Range("L35")

If Target.Address = "$L$35" Then

With Worksheets(1).Range("D15:D31")
Set Buscar = .Find(Fecha, LookIn:=xlValues)
On Error Resume Next
Buscar.Activate
End With

If Buscar Is Nothing Then
MsgBox ("Fecha no encontrada")
End If

End If

End Sub
[/PHP]

Share this post


Link to post
Share on other sites



  • Posts

    • Has modificado dos veces los requerimientos de tu consulta inicial, para futuras consultas estudia y define correctamente lo que necesitas, así conseguirás mejores resultados y nosotros nos ahorraremos tiempo. ¿OK? CONTROL GENERAL.xlsm
    • Hola! Puede alguien ayudarme a corregir esta sentencia? Son dos condiciones. Si la Celda A es igual a "Referencia 23" y la D no contiene la palabra "Almacén" entonces MsgBox "..." Lo probé de dos formas pero no hace bien el filtro, he leído que lo suyo es usar el If Not pero entonces también creo que lo aplica a lo segundo y no funciona: 1) If Cells(i, "A").Value = "Referencia 23" And Cells(i, "D").Value <> "*Almacén*" Then MsgBox.... 2) If Not Cells(i, "D").Value Like "*almacén*" And Cells(i, "A").Value = "Referencia 23" Then MsgBox … Gracias!
    • @pixelatumente, te recomiendo que rellenes los campos de tu perfil referentes al separador de argumentos y versión de Excel que usas. Con Excel 365 hay una respuesta fácil a tu consulta.
    • Gracias por tu aportación. Estoy probando añadiendo más información en la columna B pero no funciona.
    • Saludos compañeros,tengo una tabla dinamica con algunas medidas,una de ellas devuelve el ultimo vendedor que tuvo cierto cliente,el caso es que cuando filtro por vendedor,efectivamente muestra el vendedor,pero sigue mostrando los clientes que antes atendia pero que ya no,solo que en la columna ult vendedor queda la celda vacia,lo que me indica que ese cliente lo tiene actualmente otro vendedor,lo que deseo es que cuando se realice el filtro solo aparezca el vendedor con su cliente actual,sin celdas en blanco en la columna ultvendedor,en el ejemplo adjunto hay mas aclaratorias.tengo otras preguntas que estan relacionadas con el mismo archivo pero no se si es posible hacer varias preguntas en u mismo post,la otra pregunta es como puedo meter en un slicer una medida para filtrar por esa medida,en la columna estatus tengo el estatus de activo,down y bajada quiero un slicer que cuando selecione lost me aparezcan solo los clientes perdidos por ejemplo,y finalmente como puedo hacer un conteo de los clientes con los diferentes estatus por vendedor para poder hacer luego un analisis de cuantos clientes perdidos,activos o en bajada tienen cada vendedor,si debo hacer estas preguntas en otro post me disculpo y lo hare seguro,volvemos solo a la primera pregunta,si no hay lio en responder las otras preguntas se los agradezco.saludos cordiales mis estimados Maestro de pedidos 1.2.xlsx
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy