Como buscar y sustituir datos en excel

Hola no soy muy buena en excel y necesito una fórmula que me resuelva el siguiente problemita: tendría que escribir un número de código en una celda en una hoja(1), luego buscar el número de código en una fila de otra hoja(2) y si existe alguna coincidencia con el que escribí, en una columna deberían aparecer todos los datos que se encuentran en la columna que contiene el código buscado, la verdad no se como hacerlo y agradecería mucho que alguien pudiera ayudarme a resolver este detallito.

1 respuesta

Respuesta
1

Necesitas algo de código vba en tu libro, espero que no tengas muchas urgencia en el tema, pues antes de 5 días no puedo invertir el tiempo para atender tu respuesta, si necesitarías una respuesta antes házmelo saber para que descarte tu pregunta y aparezca en el tablón para que te la pueda responder otro experto

Claro que si, no tengo ningún problema en esperar, de antemano te agradezco mucho tu tiempo y apoyo.

¿Tienes el libro hecho?, me refiero a las celdas donde deberían ir los datos ya con un formato o texto para indicar que datos debe mostrar

Si tienes el libro envíamelo a [email protected]

Para poder hacer el código sabiendo en que columna esta el dato a buscar, donde se deben mostrar o en que forma los datos encontrados...

Hola!

Claro yo envío el libro, gracias!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$16" And Not Target.Value = Empty And Not Sheets("CC-PT").Range("J9").Value = "" Then
 Dim Encontrado As Range
 Buscar = Sheets("REPORTE").Range("B16").Value
 Set Encontrado = Sheets("CC-PT").Range("J9", ColumnLetter(Sheets("CC-PT").Range("J9").End(xlToRight).Column) & 9).Find(What:=Buscar, LookIn:=xlValues, LookAt:=xlWhole, Searchorder:=xlByColumns, Searchdirection:=xlNext, MatchCase:=False)
 Application.EnableEvents = False
 If Not Encontrado Is Nothing Then
 Sheets("REPORTE").Range("C21", "C33").ClearContents
 For i = 13 To 25
 With Sheets("REPORTE")
 .Range("C" & i + 8).Value = Sheets("CC-PT").Cells(i, Encontrado.Column).Value
 End With
 Next
 Else
 Sheets("REPORTE").Range("C21", "C33").ClearContents
 MsgBox "Lote no encontrado", vbExclamation + vbOKOnly, "Atención"
 End If
 Application.EnableEvents = True
End If
End Sub
Function ColumnLetter(Col As Long)
 Dim sColumn As String
 On Error Resume Next
 sColumn = Split(Columns(Col).Address(, False), ":")(1)
 On Error GoTo 0
 ColumnLetter = sColumn
End Function

Ya te he enviado el libro a tu correo. Dejo el código para cualquiera que necesite ayuda con el código para buscar por columna con la instrucción Find

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas