Ayuda

Hola elsa, espero que te encuentres muy bien, en compañía de tus seres queridos, Mira haber si me puedes ayudar, necesito una macro, que cuando yo escriba la palabra "ADMINISTRACION" en la celda A1 de la hoja1, busque en la Hoja2, Celda A1:B500, todas las personas que tienen ese departamento y lo escriba en la Hoja1, Celda A2. En la Hoja2 se encuentra de la sig. Forma en la Celda A1 Tengo todos los Departamentos, y en la celda B1 Los nombres de las Personas, muchísimas gracias de antemano... Muchos saludos desde Cancún, Mex.

1 Respuesta

Respuesta
1
Ah ! Cancún, Cancún... ¿cuándo la visitaré?
Hola:
La rutina que solicitaste la debes copiar en el Editor, en la hoja 1 (donde cargas el dato)
Sirve para cualquier categoría que tengas en la hoja2. Si no encuentra coincidencias no devolverá nada.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rango As String
Dim rangoabuscar As String
Dim lista As Variant, dato As Variant
Dim abuscar As String, dire As String
Dim fila As Integer
?celda donde se ingresa el dato a buscar
rango = "A1"
'ajusta el rango de búsqueda
rangoabuscar = "A2:A500"
Set lista = Application.Intersect(Range(rango), Target)
If Not lista Is Nothing Then
abuscar = Target.Value
With Worksheets("Hoja2").Range(rangoabuscar)
Set dato = .Find(abuscar, LookIn:=xlValues)
If Not dato Is Nothing Then
dire = dato.Address
'comienza a pasar los datos a la hoja1, a partir de la fila 2
fila = 2
Do
ActiveWorkbook.Sheets("Hoja1").Cells(fila, 1).Value = dato.Offset(0, 1).Value
fila = fila + 1
Set dato = .FindNext(dato)
Loop While Not dato Is Nothing And dato.Address <> dire
End If
End With
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas