Macro que busque y me traiga las filas con las coincidencias encontradas

Tengo esa macro funcionando pero me trae solo un resultado no se como hacer para indicarle a la macro que si hay varios resultados con el mismo dato me traiga todas las filas

Ejemplo busco "1" y la macro me trae a la fila seleccionada toda la fila donde encontró ese dato per si existen mas filas con este dato ellas no aparecen

La macro que tengo es:

Sub BUSCAR_Haga_clic_en()

On Error GoTo lineaerror

Buscardato = InputBox("INGRESE EL DATO A BUSCAR")

If Buscardato <> "" Then

Range("J1").Select

Sheets("REGISTRO FACTURACIÓN").Select

Cells.Find(What:=Buscardato, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate

Selection.EntireRow.Copy

Sheets("INICIO").Select

Rows("21:21").Select

ActiveSheet.Paste

End If

Exit Sub
lineaerror:

MsgBox "NO SE ENCONTRÓ DATO"
End Sub

Ademas no he logrado hacer que me copie solo el dato de la fecha y me la inserte y desplace hacia abajo en otra hoja ya que siempre me pega la fecha pero cuando vuelvo a a abrir la hoja a l otro día me aparece la fecha actual y no el dato de la fecha anterior.

la parte de la macro que uso para esto es .

Sheets("FACTURA").Select

Range("B1").Select   (aquí es donde esta la formula hoy())

Application.CutCopyMode = False

Selection.Copy

Sheets("REGISTRO FACTURACIÓN").Select

Range("G2").Select

Selection.Insert Shift:=xlDown

Les agradezco en esta respuesta o si tienen otra forma de hacerlo me gustaría que em explicaran y ayudaran

1 respuesta

Respuesta
1

Zizu204 te dejo el código modificado para que opere lo que necesitas (o al menos lo que entendí). Como veras ya no usa la función BUSCAR sino que usa la función FILTRO, de este modo obtienes todos los datos coincidentes. Quedo pendiente de tu éxito

Sub BUSCAR_Haga_clic_en()
''Modificada por FSerrano en 120222
''Para zizu204 en TodoExpertos.com
''Copia las filas que cumplen con el criterio especificado a otra hoja
On Error GoTo lineaerror
Sheets("REGISTRO FACTURACIÓN").Select
ActiveSheet.AutoFilterMode = False
buscardato = InputBox("INGRESE EL DATO A BUSCAR")
If buscardato <> "" Then
    ActiveSheet.Range(Cells.Address).AutoFilter
    ActiveSheet.Range(Cells.Address).AutoFilter Field:=10, Criteria1:=buscardato
    Sheets("REGISTRO FACTURACIÓN").Range("a2:" & Cells.SpecialCells(xlLastCell).Address).SpecialCells(xlCellTypeVisible).Copy
    Sheets("INICIO").Select
    Rows("21:21").Select
    ActiveCell.PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
End If
Exit Sub
lineaerror:
MsgBox "NO SE ENCONTRÓ DATO"
End Sub

En cuanto a la copia de la fecha de trabajo, modifique las lineas de este modo (pruebálas y me cuentas como te va).Saludos

Sheets("FACTURA").Range("B1").Copy
Sheets("REGISTRO FACTURACIÓN").Select
Range("G2").Activate
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False

NO OLVIDES FINALIZAR Y PUNTUAR LA PREGUNTA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas